Starting from:

$30

CMSC 335 Homework 1

Homework 1
For problems 1 through 4, explain why the code as shown is almost certainly not what the programmer
intended, and how it should be fixed to work the way the programmer probably had in mind.
1. (5 pts) What is wrong with the following program and how should it be fixed?
1 public class MyClassA {
2 int v = 12;
3
4 public MyClassA (int pV) {
5 v = pV;
6 }
7
8 public static void main (String args []) {
9 MyClassA m = new MyClassA ();
10 } // end main
11 } // end class MyClassA
2. (5 pts) What is wrong with the following program and how should it be fixed?
1 public class MyClassB {
2 int v = 12;
3
4 public void MyClassB (int pV) {
5 v = pV;
6 }
7
8 public static void main (String args []) {
9 MyClassB m = new MyClassB (23);
10 } // end main
11 } // end class MyClassB
3. (5 pts) What is wrong with the following program and how should it be fixed?
1 public class MyClassD {
2 public static void main (String args []) {
3 MyClassC m = new MyClassC (23);
4 } // end main
5 } // end class MyClassD
6
7 class MyClassC {
8 int v = 12;
9
10 public MyClassC (int pV) {
11 int v = pV;
12 }
2
13
14 } // end class MyClassC
4. (5 pts) What is wrong with the following program and how should it be fixed?
1 public class MyClassE {
2 public static void main (String args []) {
3 MyClassF m = new MyClassF (23);
4 } // end main
5 } // end class MyClassE
6
7 class MyClassF {
8 int v = 12;
9
10 private MyClassF (int pV) {
11 v = pV;
12 }
13
14 } // end class MyClassF
5. (5 pts) Given all the problems identified in problems 1 through 4, explain in detail why the following
code works, ie, compiles without errors or warnings.
1 public class MyClassG {
2 public static void main (String args []) {
3 MyClassH m = new MyClassH (23, true);
4 } // end main
5 } // end class MyClassG
6
7 class MyClassH {
8 int v = 12;
9
10 public MyClassH (int x, boolean b) {
11 this (x);
12 }
13
14 private MyClassH (int pV) {
15 v = pV;
16 }
17
18 } // end class MyClassH
6. (5 pts) Explain why the following class hierarchy is not reasonable:
• DefenseDepartment
o General
§ Private
3
7. (5 pts) Give at least one example of a reasonable field for each of the following classes in the following
class hierarchy. Be sure that the field is at the right level in the hierarchy.
• Vehicle
o Car
o Airplane
§ Passenger
§ Fighter
§ Bomber
o SpaceShip
8. (5 pts) Give at least one example of a reasonable method for each of the following classes in the
following class hierarchy. Be sure that the method is at the right level in the hierarchy. Constructors,
getters and setters don't count for this problem.
• Vehicle
o Car
o Airplane
§ Passenger
§ Fighter
§ Bomber
o SpaceShip
9. (5 pts) Please provide an example of an encapsulation and an inheritance relationship? Explain
10. (5 pts) Present reasonable parent and child classes for the class Tree (the biological kind). Give a
short explanation for why the classes you are proposing are in good parent-child relationships.
Grading Rubric:
Attribute Meets Does not meet
Problem 1 5 points
Explains why the code as shown is
almost certainly not what the
programmer intended.
Explains how it should be fixed to
work the way the programmer
probably had in mind.
0 points
Does not explain why the code as shown is
almost certainly not what the programmer
intended.
Does not explain how it should be fixed to
work the way the programmer probably
had in mind.
Problem 2 5 points
Explains why the code as shown is
almost certainly not what the
programmer intended.
Explains how it should be fixed to
work the way the programmer
probably had in mind.
0 points
Does not explain why the code as shown is
almost certainly not what the programmer
intended.
Does not explain how it should be fixed to
work the way the programmer probably
had in mind.
4
Problem 3 5 points
Explains why the code as shown is
almost certainly not what the
programmer intended.
Explains how it should be fixed to
work the way the programmer
probably had in mind.
0 points
Does not explain why the code as shown is
almost certainly not what the programmer
intended.
Does not explain how it should be fixed to
work the way the programmer probably
had in mind.
Problem 4 5 points
Explains why the code as shown is
almost certainly not what the
programmer intended.
Explains how it should be fixed to
work the way the programmer
probably had in mind.
0 points
Does not explain why the code as shown is
almost certainly not what the programmer
intended.
Does not explain how it should be fixed to
work the way the programmer probably
had in mind.
Problem 5 5 points
Given all the problems identified in
problems 1 through 4, explains in
detail why the code works, ie,
compiles without errors or warnings.
0 points
Given all the problems identified in
problems 1 through 4, does not explain in
detail why the code works, ie, compiles
without errors or warnings.
Problem 6 5 points
Explains why the class hierarchy is
not reasonable.
0 points
Does not explain why the class hierarchy is
not reasonable.
Problem 7 5 points
Gives at least one example of a
reasonable field for each of the
classes.
The field is at the right level in the
hierarchy.
0 points
Does not give at least one example of a
reasonable field for each of the classes.
The field is not at the right level in the
hierarchy.
Problem 8 5 points
Gives at least one example of a
reasonable method for each of the
classes.
The method is at the right level in the
hierarchy.
Does not include constructors,
getters and setters.
0 points
Does not give at least one example of a
reasonable method for each of the
classes.
The method is not at the right level in the
hierarchy.
Includes constructors, getters and setters.
Problem 9 5 points
Explains inheritance and
encapsulation correctly and in
0 points
Does not explain inheritance and
encapsulation correctly and in sufficient
detail given the example provided.
5
sufficient detail given the example
provided.
Problem 10 5 points
Presents reasonable parent and child
classes for the class Tree.
Gives a short explanation for why the
classes you are proposing are in good
parent-child relationships.
0 points
Does not present reasonable parent and
child classes for the class Tree.
Does not give a short explanation for why
the classes you are proposing are in good
parent-child relationships.

More products