Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.ip.sesion05;
- public class Fraccion {
- private int numerador;
- private int denominador;
- private static int numFracciones = 0;
- public Fraccion() {
- numerador = 0;
- denominador = 1;
- numFracciones++;
- }
- public Fraccion(int numerador, int denominador) {
- super();
- this.numerador = numerador;
- this.denominador = denominador;
- numFracciones++;
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Fraccion other = (Fraccion) obj;
- if (denominador != other.denominador)
- return false;
- if (numerador != other.numerador)
- return false;
- return true;
- }
- public int getNumerador() {
- return numerador;
- }
- public int getDenominador() {
- return denominador;
- }
- public static int getNumFracciones() {
- return numFracciones;
- }
- @Override
- public String toString() {
- if(denominador ==1)
- return numerador + "";
- else
- return numerador + "/" + denominador;
- }
- public Fraccion sumar(Fraccion b){
- int numerador = (this.numerador * b.getDenominador()) + (this.denominador * b.getNumerador());
- int denominador = this.denominador * b.getDenominador();
- return new Fraccion(numerador, denominador);
- }
- public static Fraccion sumar(Fraccion a, Fraccion b){
- int numerador = (a.getNumerador() * b.getDenominador()) + (a.getDenominador() * b.getNumerador());
- int denominador = a.getDenominador() * b.getDenominador();
- return new Fraccion(numerador, denominador);
- }
- public Fraccion restar(Fraccion b){
- int numerador = (this.numerador * b.getDenominador()) - (this.denominador * b.getNumerador());
- int denominador = this.denominador * b.getDenominador();
- return new Fraccion(numerador, denominador);
- }
- public Fraccion multiplicar(Fraccion b){
- int numerador = this.numerador*b.getNumerador();
- int denominador = this.denominador*b.getDenominador();
- return new Fraccion(numerador, denominador);
- }
- public Fraccion dividir(Fraccion b){
- int numerador = this.numerador * b.getDenominador();
- int denominador = this.denominador * b.getNumerador();
- return new Fraccion(numerador, denominador);
- }
- public Fraccion inversa(Fraccion b){
- int numerador = this.denominador;
- int denominador = this.numerador;
- return new Fraccion(numerador, denominador);
- }
- private static int mcd(int u, int v){
- int aux;
- while(u % v !=0){
- aux=u;
- u=v;
- v= aux%v;
- }
- return v;
- }
- public Fraccion simplificar(){
- int dividir = mcd(numerador, denominador);
- numerador /= dividir;
- denominador /= dividir;
- return this;
- }
- }
- //ahora la clase main//
- package org.ip.sesion05;
- public class TestFraccion {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.out.println("LAS FRACCIONES CREADAS SON");
- Fraccion f1 = new Fraccion(1, 5);
- Fraccion f2 = new Fraccion(4, 5);
- Fraccion f3 = new Fraccion(-11, 22);
- System.out.println("PRIMERA FRACCIÓN ==> " + f1.toString());
- System.out.println("SEGUNDA FRACCIÓN ==> " + f2.toString());
- System.out.println("TERCERA FRACCIÓN ==> " + f3.toString());
- System.out.println("El número de fracciones creadas es " + Fraccion.getNumFracciones());
- if(f1.equals(f2))
- System.out.println("La primera fracción ES IGUAL a la segunda");
- else
- System.out.println("La primera fracción NO ES IGUAL a la segunda");
- System.out.println("El numerador de la tercera fracción es =>" + f3.getNumerador());
- System.out.println("El denominador de la primera fracción es =>" + f1.getDenominador());
- System.out.println("La suma, utilizando el método de clase de " + f1.toString() + f2.toString() + " es " + Fraccion.sumar(f1, f2));
- System.out.println("La suma, utilizando el método de objeto de " + f1.toString() + " + " + f2.toString() + " es " + f1.sumar(f2) + " simplificada " + f1.sumar(f2).simplificar());
- System.out.println("La resta de " + f1.toString() + " - " + f2.toString() + " es " + f1.restar(f2) + " simplificada " + f1.restar(f2).simplificar());
- System.out.println("El producto " + f1.toString() + " x " + f2.toString() + " es " + f1.multiplicar(f2));
- System.out.println("La division de " + f1.toString() + " / " + f3.toString() + " es " + f1.dividir(f3));
- System.out.println("La inversa de la primera fracción " + f1.toString() + " es " + f1.inversa(f1));
- System.out.println("La fracción " + f3.toString() + " simplificada es " + f3.simplificar());
- System.out.println("El número de fracciones creadas es " + Fraccion.getNumFracciones());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement