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