$24
1. (10 pts) What are the diagrams defined in the UML Standard. Give a one or two sentence description of each one.
2. (10 pts) Given the following code, how should the toString methods in the classes H2ClassA and H2ClassB be written to give the indicated output and take advantage of the natural toString method in H2ClassB?
1 import java.util.ArrayList;
2
3 public class H2ClassA {
4 ArrayList <H2ClassB list = new ArrayList <H2ClassB ();
5
6 public static void main (String args []) {
7 H2ClassA y = new H2ClassA ();
8 int [] v = {4, 3, 7, 5, 99, 3};
9 for (int m: v)
10 y.list.add (new H2ClassB (m));
11 System.out.println (y);
12 } // end main
13
14 } // end class H2ClassA
15
16 class H2ClassB {
17 int x;
18 H2ClassB (int a) { x = a;}
19 } // end H2ClassB
OUTPUT:
4 3 7 5 99 3
3. (10 pts) How can the following code be corrected? Give at least two good answers.
1 public class H2ClassC {
2 H2ClassC (int a) {}
3 } // end class H2ClassC
4
5 class H2ClassD extends H2ClassC{
6 } // end class H2ClassD
4. (10 pts) Why does the following code give a compiler error? How should it be fixed?
1 public class H2ClassE {
2 int x, y, z;
3
4 H2ClassE (int a) {
5 x = a;
6 this (5, 12);
7 }
8
9 H2ClassE (int b, int c) {
10 y = b;
11 z = c;
12 }
13 } // end class H2ClassE
5. (10 pts) What is wrong with the following declaration? How should it be fixed?
public static final int myNumber = 17.36;
6. (10 pts) What is wrong with the following code? How should it be fixed?
1 public class H2ClassG {
2 final int x;
3
4 H2ClassG () {}
5 H2ClassG (int a) {x = a;}
6 } // end class H2ClassG
7. (10 pts) What is wrong with the following code? How should it be fixed?
1 public class H2ClassH {
2 final int x;
3
4 int H2ClassH () {
5 if (x == 7) return 1;
6 return 2;
7 } // end
8 } // end class H2ClassH
8. (10 pts) What is wrong with the following code? x should be given a value of 24. What are two ways this can be legally accomplished?
1 public class H2ClassI {
2 final int x;
3
4 public static void main (String args []) {
5 H2ClassI h = new H2ClassI ();
6 h.x = 24;
7 } // end main
8 } // end class H2ClassI
9. (10 pts) What is wrong with the following code? Give two effective ways to fix it.
1 import javax.swing.*;
2 import java.awt.event.*;
3
4 public class H2ClassJ extends JFrame {
5 public static final long serialVersionUID = 22;
6
7 public H2ClassJ () {
8 addMouseListener (new MouseListener () {
9 public void mouseClicked (MouseEvent e) {}
10 });
11 } // end constructor
12
13 } // end class H2ClassJ
10. (10 pts) Why does the following code give a compiler warning? (Use javac -Xlint) How should it be fixed?
1 import javax.swing.*;
2
3 public class H2ClassK {
4 String [] sa = {"a", "b", "c"};
5 JComboBox jcbA = new JComboBox (sa);
6 } // end class H2ClassK
Grading Rubric:
Attribute
Meets
Does not meet
Problem 1
10 points
Gives a one or two sentence description of each standard UML diagram.
0 points
Does not give a one or two sentence description of each standard UML diagram.
Problem 2
10 points
Explains how the toString methods in the classes H2ClassA and H2ClassB be written to give the indicated output and take advantage of the natural toString method in H2ClassB.
0 points
Does not explains how the toString methods in the classes H2ClassA and H2ClassB be written to give the indicated output and take advantage of the natural toString method in H2ClassB.
Problem 3
10 points
Provides at least two good answers explaining how the code can be corrected.
0 points
Does not provide at least two good answers explaining how the code can be corrected.
Problem 4
10 points
Explains why the code gives a compiler error.
Explains how the code should be fixed.
0 points
Does not explain why the code gives a compiler error.
Does not explain how the code should be fixed.
Problem 5
10 points
Explains what is wrong with the declaration.
Explains how the code should be fixed.
0 points
Does not explain what is wrong with the declaration.
Does not explain how the code should be fixed.
Problem 6
10 points
Explains what is wrong with the code.
Explains how the code should be fixed.
0 points
Does not explain what is wrong with the code.
Does not explain how the code should be fixed.
Problem 7
10 points
Explains what is wrong with the code.
Explains how the code should be fixed.
0 points
Does not explain what is wrong with the code.
Does not explain how the code should be fixed.
Problem 8
10 points
Explains what is wrong with the code.
Explains two ways x could be given a values of 24 legally.
0 points
Does not explain what is wrong with the code.
Does not explain two ways x could be given a values of 24 legally.
Problem 9
10 points
Explains what is wrong with the code.
Explains 2 effective ways the code could be fixed.
0 points
Does not explain what is wrong with the code.
Does not explain 2 effective ways the code could be fixed.
Problem 10
10 points
Explains why the code gives a compiler warning.
Explains how it should be fixed.
0 points
Does not explain why the code gives a compiler warning.
Does not explain how it should be fixed.