import javax.swing.*; // Definicion de la clase Fraccion class Fraccion { // Atributos private int nu,de; // constructores public Fraccion() { nu = 0; de = 1; } public Fraccion(int n,int d) { nu = n; de = (d > 0) ? d : 1; } public Fraccion(Fraccion f) { nu = f.getnu(); de = f.getde(); } // Operaciones examinadoras public int getnu() { return nu; } public int getde () { return de; } public String toString() // Permite consultar el estado { return nu + "/" + de ; } // Operaciones modificadoras public void setnu (int vnu) { nu=vnu; } public void setde (int vde) { de= (vde>0) ? vde : 1; } // Operaciones interesantes public Fraccion sumar(Fraccion otra) { Fraccion suma = new Fraccion(); suma.setnu( (nu * otra.getde() ) + ( otra.getnu() * de) ); suma.setde( de * otra.getde() ); return suma; } public Fraccion restar(Fraccion otra) { Fraccion suma = new Fraccion(); suma.setnu( (nu * otra.getde() ) - ( otra.getnu() * de) ); suma.setde( de * otra.getde() ); return suma; } public Fraccion dividir(Fraccion otra) { Fraccion mult = new Fraccion(); mult.setnu( nu * otra.getde() ); mult.setde( de * otra.getnu() ); return mult; } public Fraccion multiplicar(Fraccion otra) { Fraccion mult = new Fraccion(); mult.setnu( nu * otra.getnu() ); mult.setde( de * otra.getde() ); return mult; } /* public Fraccion simplificar(Fraccion a) *\ // { // // // \* } */ } // Clase que representa el programa principal public class Fraccionarios{ public static void main(String par[]) { Fraccion a, b, c; // Declaracion String dato; int num, den; dato = JOptionPane.showInputDialog("Digite el numerador de la primera fraccion:"); num = Integer.parseInt(dato); dato = JOptionPane.showInputDialog("Digite el denominador de la primera fraccion:"); den = Integer.parseInt(dato); a = new Fraccion(num, den); // Instanciacion dato = JOptionPane.showInputDialog("Digite el numerador de la 2a. fraccion:"); num = Integer.parseInt(dato); dato = JOptionPane.showInputDialog("Digite el denominador de la 2a. fraccion:"); den = Integer.parseInt(dato); b = new Fraccion(num, den); c = b.multiplicar(a); JOptionPane.showMessageDialog(null, a.toString() + " x " + b.toString() + " = " + c.toString() ); System.exit(0); } } /*// Definicion de la clase complejos class Complejo { // Atributos private int re,im; // constructores public Complejo() { re = 1; im = 1; } public Complejo(int r,int i) { re = r; im = i; } public Complejo(Complejo c) { re = c.getreal(); im = c.getimag(); } // Metodos examinadores public int getreal() { return re; } public void getimag() { return im; } public String toString() // Permite consultar el estado { return re + " + " + im + "i" + "\n"; } // Metodos modificadores public void setre(int real) { re = real; } public void setim(int imag) { im = imag; } // Otros metodos public Complejo sumar(Complejo a,Complejo b) { this.re = a.getre + b.getre; this.im = a.getim + b.getim; return this; } public Complejo restar(Complejo a,Complejo b) { this.re = a.getre - b.getre; this.im = a.getim - b.getim; return this; } public Complejo dividir(Complejo a,Complejo b) // no comprovado { this.re = (a.getre / b.getre) - (a.getim / b.getim); this.im = (a.getre / b.getim) + (a.getim / b.getre); return this; } public Complejo multiplicar(Complejo a,Complejo b) { this.re = (a.getre * b.getre) - (a.getim * b.getim); this.im = (a.getre * b.getim) + (a.getim * b.getre); return this; } /* public Complejo simplificar(Complejo a) *\ // { // // // // } } */