Sample Program - Array of Fractions
// // Fraction class // // methods: // constructors // add returns the sum of parm and invoking object // multiply returns the product of parm and invoking object // toString overrides Object // equals overrides Object // public class Fraction { private int num; // numerator private int denom; // denominator // initialize the Fraction to zero if no args are passed public Fraction() { num = 0; denom = 1; } // initialize the Fraction to the given integer public Fraction(int whole) { num = whole; denom = 1; } // initialize the Fraction with the given numerator and denominator public Fraction(int n,int d) { num = n; denom = d; } // toString method to override Object.toString public String toString() { String fracstr = Integer.toString(num) + "/" + Integer.toString(denom); return fracstr; } // equals method to override Object.equals public boolean equals(Object frac) { if ( (frac != null) && (frac instanceof Fraction) ) if ( ((Fraction) frac).num == this.num && ((Fraction) frac).denom == this.denom ) return true; return false; } // multiply invoking object by parameter and return the product. // the result is not reduced public Fraction mult(Fraction multit) { Fraction product = new Fraction(); product.num = num * multit.num; product.denom = denom * multit.denom; return product; } // add the invoking object and the parameter and return the sum. // the result is not reduced public Fraction add(Fraction addit) { Fraction sum = new Fraction(); int newdenom = denom * addit.denom; sum.denom = newdenom; sum.num = num * addit.denom + addit.num * denom; return sum; } } // // class ArrayFracTest // // demonstrate use of an array of Fractions // public class ArrayFracTest { public static void main(String[] args) { int i; // create Fractions and put values into the first 9 elements of the array Fraction[] fracs = new Fraction[10]; for (i = 0 ; i < fracs.length - 1 ; i++) fracs[i] = new Fraction(i,2*(i+1)); // set the last Fraction and print them all fracs[9] = fracs[8].add(fracs[7]); for (i = 0 ; i < fracs.length ; i++) System.out.println("fracs["+i+"] = " + fracs[i]); // initialize another array of Fractions and print them out Fraction[] more = {new Fraction(1,2), new Fraction(2,3), new Fraction(3,4), new Fraction(4,5)}; System.out.println(); for (i = 0 ; i < more.length ; i++) System.out.println("more["+i+"] = " + more[i]); } }Output:
fracs[0] = 0/2 fracs[1] = 1/4 fracs[2] = 2/6 fracs[3] = 3/8 fracs[4] = 4/10 fracs[5] = 5/12 fracs[6] = 6/14 fracs[7] = 7/16 fracs[8] = 8/18 fracs[9] = 254/288 more[0] = 1/2 more[1] = 2/3 more[2] = 3/4 more[3] = 4/5
Email Me | Office Hours | My Home Page | Department Home | MCC Home Page