public class Complejos { private Fraccion R; private Fraccion I; // Constructores public Complejos() { R = new Fraccion(); I = new Fraccion(); } public Complejos(Fraccion r, Fraccion i) { R = new Fraccion(r); I = new Fraccion(i); } public Complejos(Fraccion r) { R = new Fraccion(r); I = new Fraccion(); } public Complejos(long p1, long q1, long p2, long q2) { R = new Fraccion(p1, q1); I = new Fraccion(p2, q2); } public Complejos(long p1, long q1) { R = new Fraccion(p1, q1); I = new Fraccion(); } public Fraccion parteReal() { return R; } public Fraccion parteImaginaria() { return I; } public void suma(Complejos a) { R.suma(a.parteReal()); I.suma(a.parteImaginaria()); } public void suma(Complejos a, Complejos b) { R.suma(a.parteReal(), b.parteReal()); I.suma(a.parteImaginaria(), b.parteImaginaria()); } public void resta(Complejos a) { R.resta(a.parteReal()); I.resta(a.parteImaginaria()); } public void resta(Complejos a, Complejos b) { R.resta(a.parteReal(), b.parteReal()); I.resta(a.parteImaginaria(), b.parteImaginaria()); } /* public void multiplicacion(Complejos a, Complejos b) { Fraccion r1, r2, i1, i2; r1 = new Fraccion(); r2 = new Fraccion(); i1 = new Fraccion(); i2 = new Fraccion(); r1.Multiplicacion(a.parteReal(),b.parteReal()); r2.Multiplicacion(b.parteImaginaria(), b.parteImaginaria()); ... R.resta(r1, r2); ... } */ // Visualiza sin cambiar de linea public void visualiza() { R.visualiza(); System.out.print(" + "); I.visualiza(); System.out.print("i"); } // Visuliza y cambia de linea public void visualizaLN() { R.visualiza(); System.out.print(" + "); I.visualiza(); System.out.println("i"); } // Ejemplito de uso ... public static void main(String[] args) { Complejos a, b, c; a = new Complejos(2, 3, 5, 2); b = new Complejos(6, 3); 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(); } };