/** Representa una fraccion de la forma a/b, donde a y b son enteros y b != 0 * La clase puede hacer operaciones aritmeticas entre fracciones */ public class Fraccion { // Estos miembros de datos no son estaticos, indica que cada objeto tendra su propio // numerador y denominador independiente de los demas objetos Fraccion que existan // en la memoria private long numerador = 0; private long denominador = 1; // Lee la fraccion desde el teclado public void leer() { numerador = Keyboard.getNextLong("Numerador: "); denominador = Keyboard.getNextLong("Denominador: "); if ( denominador == 0 ) denominador = 1; } // Imprime la fraccion en notacion a/b en la pantalla public void imprimir() { System.out.print(numerador + "/" + denominador); } // Suma esta fraccion con otra suma existente y retorna un nuevo objeto Fraccion que // es el resultado de la suma public Fraccion sumar(Fraccion otra) { Fraccion resultado = new Fraccion(); resultado.numerador = numerador * otra.denominador + denominador * otra.numerador; resultado.denominador = denominador * otra.denominador; return resultado; } }