public class Complex implements Comparable { private int real; private int complex; public Complex(int real, int complex) { this.real = real; this.complex = complex; } public String toString() { String op="+"; if(complex<0) op=""; return real+op+complex+"i"; } public boolean equals(Complex c) { return complex==c.complex && real==c.real && mag(this)==mag(c); } public int compareTo(Object c) { int result=9999; if (mag(this) < mag((Complex)c)) result=-1; else if (this.equals((Complex)c)) result=0; else if (mag(this) > mag((Complex)c)) result=1; return result; } private double mag(Complex c) { double asqu = c.real*c.real; double bsqu = c.complex*c.complex; return Math.sqrt(asqu+bsqu); } }