Exercise
Enhanced ComplexNumber class
Objetive
Improve the "ComplexNumber" class, so that it overloads the operators + and - to add and subtract numbers.
Example Code
public class ComplexNumber
{
protected double a, b;
public ComplexNumber(double realPart, double imaginaryPart)
{
a = realPart;
b = imaginaryPart;
}
public final double GetReal()
{
return a;
}
public final void SetReal(double a)
{
this.a = a;
}
public final double GetImaginary()
{
return b;
}
public final void SetImaginary(double b)
{
this.b = b;
}
public final String toString()
{
return "(" + a + "," + b + ")";
}
public final double GetMagnitude()
{
return Math.sqrt((a * a) + (b * b));
}
public final void Add(ComplexNumber c2)
{
a += c2.GetReal();
b += c2.GetImaginary();
}
}
public class Main
{
public static void main(String[] args)
{
ComplexNumber number = new ComplexNumber(5, 2);
System.out.println("Number is: " + number.toString());
number.SetImaginary(-3);
System.out.println("Number is: " + number.toString());
System.out.print("Magnitude is: ");
System.out.println(number.GetMagnitude());
ComplexNumber number2 = new ComplexNumber(-1, 1);
number.Add(number2);
System.out.print("After adding: ");
System.out.println(number.toString());
}
}