// Bosquejo de un programa para manipular complejos // Autor: Antonio Carrillo Ledesma // http://mmc.geofisica.unam.mx/acl/ public class Complejos { // 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(); } // Retorna la parte real del complejo public double parteReal() { return R; } // Retorna la parte imaginaria del complejo public double parteImaginaria() { return I; } // Suma con un operando public void suma(Complejos a) { R = parteReal() + a.parteReal(); I = parteImaginaria() + a.parteImaginaria(); } // Suma con dos operandos public void suma(Complejos a, Complejos b) { R = a.parteReal() + b.parteReal(); I = a.parteImaginaria() + b.parteImaginaria(); } // Visualiza el complejo public void visualiza() { System.out.print(R); if(I >= 0) System.out.print("+"); System.out.print(I); System.out.print("i"); } // Visualiza el complejo public void visualizaLN() { visualiza(); System.out.println(""); } // 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(); System.out.println("Suma de dos operandos"); a.visualiza(); System.out.print(" + "); b.visualiza(); System.out.print(" = "); c.suma(a, b); c.visualizaLN(); System.out.println("Suma de un operando"); a.visualiza(); System.out.print(" + "); b.visualiza(); System.out.print(" = "); a.suma(b); a.visualizaLN(); } };