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