public Fraction clone(){ return new Fraction(this); } public double toDecimal(){
public Fraction simplify(){ long mcd=gcd(numerator,denominator); if(mcd>1){ numerator /= mcd; denominator /= mcd; } return this; } public Fraction add(final Fraction f){
public Fraction(final Fraction r){ this(r.getNumerator(),r.getDenominator()); } public long getNumerator(){
public Fraction(long num, long den){ setDenominator(den); setNumerator(num); if(denominator<0){ numerator = -numerator; denominator = -denominator; } } public Fraction(final Fraction r){
public static double crossMultiplication(double x1,double y1) { return crossMultiplication(x1,100,y1); } }
public boolean equals( Object r){ return r instanceof Fraction?equals((Fraction)r):false; } public boolean equals( final Fraction r){
public static double getRandomNumber(double lowerLimit,double upperLimit){ return lowerLimit + ( createRandom()* (upperLimit - lowerLimit)); } private static double createRandom(){
public static String getRandomString(int size,int stringType){ int[] limits; int i,lowerLimit,higherLimit; StringBuilder s=new StringBuilder(size); if(stringType==DIGITS_AND_LETTERS){ for(i=0;i<size;i++) { s.append((char)(Number.getRandomNumber(0,2)>=1? Number.getRandomNumber(A_UPPER_CASE, Z_UPPER_CASE+1): Number.getRandomNumber(ZERO,NINE) )); } } else{ limits=getRandomWordLimits(stringType); for(lowerLimit=limits[0],higherLimit=limits[1],i=0;i<size;i++){ s.append((char)Number.getRandomNumber(lowerLimit,higherLimit)); } } return s.toString(); } private static int[] getRandomWordLimits(int tipo){
this.setNumerator(Long.parseLong(fraccion.substring(0, diagonalIndex))); this.setDenominator(Long.parseLong(fraccion.substring(diagonalIndex+1, fractionSize))); return true;
public static double getSimilarity(String x,String y) { /*int sizeX=x.length(),sizeY=y.length(); int minSize=Math.min(sizeX,sizeY); int maxSize=Math.max(sizeX, sizeY); */ /* double patternCodeX=patternCode(x,0,minSize); double patternCodeX=patternCode(x,0,minSize); */ double patternCodeX=patternCode(x); double patternCodeY=patternCode(y); double sim=MathUtil.crossMultiplication(patternCodeX, 100, patternCodeY); /*if(maxSize!=minSize) { sim= sim-(100-MathUtil.crossMultiplication(maxSize,100,minSize)); }*/ return sim; } public static void main(String[] args) {
public Fraction multiply(final Fraction f){ return new Fraction(numerator*f.numerator,denominator*f.denominator); } public Fraction divide(final Fraction f){
public Fraction subtract(final Fraction f){ return new Fraction(numerator*f.denominator - denominator * f.numerator, denominator * f.denominator); } public Fraction multiply(final Fraction f){
public Fraction add(final Fraction f){ return new Fraction(numerator*f.denominator + denominator * f.numerator, denominator * f.denominator); } public Fraction subtract(final Fraction f){
public Fraction divide(final Fraction f){ return new Fraction(numerator*f.denominator,denominator*f.numerator); } public boolean equals( Object r){
public Fraction changeSign(){ return new Fraction(-numerator, denominator); }