package lang; /** * * @author Profesor */ public final class ComplexNumber { //TODO resolver qué constantes poner //TODO resolver las transformaciones texto - ComplexNumber private double real, imaginary, module, phase; //cerrado por que hay dos representaciones distintas y va por via getInstance private ComplexNumber(){} public double getImaginary() { return imaginary; } public double getModule() { return module; } public double getPhase() { return phase; } public double getReal() { return real; } /** * Genra un número complejo partiendo de una representación cartesiana (rean, imaginaria) * * @param real parte real del número complejo a generar * @param imaginary parte imaginaria del número complejo a genera * @return el complejo generado */ public static ComplexNumber getCartesianInstance(double real,double imaginary) { ComplexNumber c= new ComplexNumber(); return c.refreshCartesian(real, imaginary); } //TODO falta completar constructor public static ComplexNumber getPolarInstance(double module, double phase) { return new ComplexNumber(); } public static ComplexNumber add (ComplexNumber c1, ComplexNumber c2){ return getCartesianInstance(c1.real+c2.real,c1.imaginary+c2.imaginary); } public ComplexNumber add(ComplexNumber c) { return refreshCartesian(real+c.real,imaginary+c.imaginary); } private ComplexNumber refreshCartesian(double r, double i) { real=r; imaginary=i; module=Math.sqrt(real*real+imaginary*imaginary); phase=Math.atan2(imaginary, real); return this; } private ComplexNumber setpolar(double m, double p) { return this; } }