// Bosquejo de un programa para manipular complejos // Autor: Antonio Carrillo Ledesma // http://mmc.geofisica.unam.mx/acl/ //~ public class Complejos { public class Complejos extends Numero { // Parte real del complejo private double R; // Parte imaginaria del complejo private double I; // Constructores public Complejos() { R = 0; I = 0; } // Constructores public Complejos(double r, double i) { R = r; I = i; } // Constructores public Complejos(double r) { R = r; I = 0; } // Constructores public Complejos(Complejos a) { R = a.parteReal(); I = a.parteImaginaria(); } // Genera un nuevo miembro de la clase public Numero nuevo() { Numero c = new Complejos(); return c; } // Retorna la parte real del complejo public double parteReal() { return R; } // Retorna la parte imaginaria del complejo public double parteImaginaria() { return I; } // Regresa verdadero si el complejo es cero public boolean esCero() { if (parteReal() == 0.0 && parteImaginaria() == 0.0) return true; return false; } // Suma de dos operandos public void suma(Numero A, Numero B) { Complejos a = new Complejos( (Complejos) A); Complejos b = new Complejos( (Complejos) B); R = a.parteReal() + b.parteReal(); I = a.parteImaginaria() + b.parteImaginaria(); } // Suma con un operando public void suma(Numero A) { Complejos a = new Complejos( (Complejos) A); R = parteReal() + a.parteReal(); I = parteImaginaria() + a.parteImaginaria(); } // Visualiza el complejo public void visualiza() { System.out.print(R); System.out.print("+"); System.out.print(I); System.out.print("i"); } // Ejemplito de uso ... public static void main(String[] args) { Complejos a, b, c; a = new Complejos(2, 4); b = new Complejos(5); c = new Complejos(); c.suma(a, b); a.visualizaLN(); b.visualizaLN(); c.visualizaLN(); } };