Question 1 ---------- 1) The variables a and b should be non-static. This is because each instance of a ComplexNumber should have its own values for the real and imaginary parts. 2) public 3) ComplexNumber.java 4) No. The ComplexNumber class provides the service related to complex numbers. It doesn't have (need) a main method. A client class that has a main method, together with the ComplexNumber class, is an application. Question 5 ---------- 1) This is due to round off error caused by a limitation in the precision of the double type. Notice that for the results that do not match up, the result is very very close to zero. 2) The for loop terminates when the condition (choice!=8) is no longer true. No "increment" is needed for the condition to evaluate to false--the user chooses a choice value each time before the loop body executes. Assuming a sane user, the loop will terminate when the user chooses to quit (choice 8). The "update" in this loop is the assignment statement that reads the user input into variable choice.