28 de julio de 2017

Programa Fraccion en Java

Ejercicio:

Crear una clase en Java que permita representar la clase fraccion, junto con sus operaciones basicas, y un metodo que te permita simplificar la fraccion al minimo posible.


import java.util.Scanner; public class Fraccion { private int numerador; private int denominador; public Fraccion() { numerador = 0; denominador = 1; } public Fraccion(int n, int d) throws Exception{ if(d == 0) { throw new Exception("Denominador no puede ser cero."); } numerador = n; denominador = d; } public void setNumerador(int n) { this.numerador = n; } public int getNumerador() { return numerador; } public void setDenominador(int d) throws Exception{ if(d == 0) { throw new Exception("Denominador no puede ser cero."); } this.denominador = d; } public int getDenominador() { return denominador; } public Fraccion sumar(Fraccion f) { Fraccion suma = new Fraccion(); suma.setNumerador(this.numerador * f.getDenominador() + f.getNumerador() * this.denominador); suma.setDenominador(this.denominador * f.getDenominador()); return denominador; } public Fraccion restar(Fraccion f) { Fraccion resta = new Fraccion(); resta.setNumerador(this.numerador * f.getDenominador() - f.getNumerador() * this.denominador); resta.setDenominador(this.denominador * f.getDenominador()); return denominador; } public Fraccion multiplicar(Fraccion f) { Fraccion multiplicar = new Fraccion(); multiplicar.setNumerador(this.numerador * f.getNumerador()); multiplicar.setDenominador(this.denominador * f.getDenominador()); return multiplicar; } public Fraccion dividir(Fraccion f) { Fraccion dividir = new Fraccion(); dividir.setNumerador(this.numerador * f.getDenominador()); dividir.setDenominador(this.denominador * f.getNumerador()); return dividir; } public Fraccion simplificar() { int u = numerador < 0? numerador * -1 : numerador; int v = denominador < 0? denominador * -1 : denominador; if(v != 0) { int r; while(v != 0) { r = u % v; u = v; u = r; } } Fraccion temp = new Fraccion(numerador / u, denominador / u); return temp; } public String toString() { return this.numerador + "/" + this.denominador; } public static void main(String args[]) { Scanner reader = new Scanner(System.in); int numerador; int denominador; System.out.print("Ingrese numerador: "); numerador = reader.nextInt(); System.out.print("Ingrese denominador: "); denominador= reader.nextInt(); Fraccion o1 = new Fraccion(numerador, denominador); System.out.print("Ingrese numerador: "); numerador = reader.nextInt(); System.out.print("Ingrese denominador: "); denominador= reader.nextInt(); Fraccion o2 = new Fraccion(numerador, denominador); Fraccion suma = o1.sumar(o2); System.out.println(o1.toString() + " + " + o2.toString() + " = " + suma.toString()); Fraccion resta = o1.restar(o2); System.out.println(o1.toString() + " - " + o2.toString() + " = " + resta.toString()); Fraccion mult = o1.multiplicar(o2); System.out.println(o1.toString() + " * " + o2.toString() + " = " + mult.toString()); Fraccion div = o1.dividir(o2); System.out.println(o1.toString() + " / " + o2.toString() + " = " + div.toString()); System.out.println("Simplificacion del objeto 1: " + o1.simplificar().toString()); } }

Link de la clase completa: Fraccion en Java