All pastes #719042 Raw Edit

salinas 2

public javascript v1 · immutable
#719042 ·published 2007-09-28 21:55 UTC
rendered paste body
import java.io.*;public class Racional implements Cloneable {    private int num, den;    public Racional() {    }    public Racional(int n, int d) {        if (d==0.0)         	//throw new DenominadorCeroException("El denominador no puede ser cero");        	System.out.println("ERROR...!\n");        num = n;        den = d;    }    static private int mcd(int m, int n) {        int t;        while(m>0) {            t=m;            m=n%m;            n=t;        }        return n;    }    public int numerador() {        return num;    }    public int denominador() {        return den;    }    static public Racional suma(Racional a, Racional b) {        int n = (a.num*b.den)+(b.num*a.den);        int d = a.den*b.den;        return new Racional(n,d);    }    static public Racional resta(Racional a, Racional b) {        int n = (a.num*b.den)-(b.num*a.den);        int d = a.den*b.den;        return new Racional(n,d);    }    static public Racional multiplica(Racional a, Racional b) {        int n = a.num*b.num;        int d = a.den*b.den;        return new Racional(n,d);    }    static public Racional divide(Racional a, Racional b) {        int n = a.num*b.den;        int d = a.den*b.num;        return new Racional(n,d);    }    static public Racional simplifica(Racional a) {        int x = mcd(Math.abs(a.num),Math.abs(a.den));        int n = a.num/x;        int d = a.den/x;        return new Racional(n,d);    }    public String toString() {        return (num+"/"+den);    }    public boolean equals(Object o) {        Racional r1 = simplifica(this);        Racional r2 = simplifica((Racional)o);        return ((r1.num==r2.num)&&(r1.den==r2.den));    }    public Object clone() {        Racional r = new Racional(num,den);        return r;    }}