/** 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 { // Cada fraccion tiene su propio numerador y su propio denominador long numerador = 0; long denominador = 1; // Constructor por defecto. Crea una fraccion 0/1 public Fraccion() { } // Construye una fraccion que representa un entero, de la forma num/1 public Fraccion(long num) { numerador = num; denominador = 1; } // Construye una fraccion de la forma num/den public Fraccion(long num, long den) { numerador = num; denominador = den != 0 ? den : 1; } // Imprime la fraccion en pantalla en formato a/b public void imprimir() { System.out.print( toString() ); } // Retorna un texto que representa la fraccion en formato "a/b" public String toString() { return String.format("%,d/%,d", 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) { return new Fraccion(numerador * otra.denominador + denominador * otra.numerador , denominador * otra.denominador); } // Multiplica esta fraccion con otra existente y retorna una nueva Fraccion // resultado de la multiplicacion public Fraccion multiplicar(Fraccion otra) { return new Fraccion(numerador * otra.numerador , this.denominador * otra.denominador); } }