Enhanced ComplexNumber class Learn programming Java

Lesson:

More On Classes


Exercise:

Enhanced ComplexNumber class 48


Objetive:

Improve the "ComplexNumber" class, so that it overloads the operators + and - to add and subtract numbers.


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());
	}
}