1. 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. 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. 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. What is wrong with the following declaration? How should it be fixed?
public static final int myNumber = 17.36;
6. 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. 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. 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 min
8 } // end class H2ClassI
9. 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 servialVersionUID = 22;
6
7 public H2ClassJ() {
8 addMouseListener(new MouseListener() {
9 pblic void mouseClicked (MouseEvent e) {}
10 });
11 } // end constructor
12
13 } // end class H2ClassJ
10. 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 }