Ejercicio
Números complejos
Objetivo
Un número complejo tiene dos partes: la parte real y la parte imaginaria. En un número como a+bi (2-3i, por ejemplo) la parte real sería "a" (2) y la parte imaginaria sería "b" (-3).
Cree una clase ComplexNumber con:
Un constructor para establecer los valores de la pieza real y la parte imaginaria.
Setters y getters para ambos.
Un método "ToString", que devolvería "(2,-3)"
Un método "GetMagnitude" para devolver la magnitud del número complejo (raíz cuadrada de a2+b2)
Un método "Add", para sumar dos números complejos (la parte real será la suma de ambas partes reales, y la parte imaginaria será la suma de ambas partes imaginarias)
Cree un programa de prueba para probar estas capacidades.
Código de Ejemplo
import java.util.*;
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)
{
boolean debug = false;
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());
if (debug)
{
new Scanner(System.in).nextLine();
}
}
}