This assignment will take some work, but the basic class structure will look like:
public class ComplexNumber {
public ComplexNumber() { ... } // Default constructor
public ComplexNumber(double real, double imag) { ... } // Explicit initialization
public ComplexNumber read() { ... } // Get input
public void print() { ... } // Print the value
public double getReal() { ... } // Get the real part
public double getImaginary() { ... } // Get the imaginary part
public boolean equals (ComplexNumber n) { ... } // Test for equality
public ComplexNumber getCopy() { ... } // Make a copy
public String toString() { ... } // Convert to String
public ComplexNumber add (ComplexNumber n) { ... } // Similar for sub, mult, divide
public ComplexNumber cAbs () { ... } // Get the absolute value
public static void main (String[] argv) { ... } // main method, for testing
}