Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

public class Fraction { // Instance variables private int numerator; // Numerato

ID: 671365 • Letter: P

Question

public class Fraction {
// Instance variables
private int numerator; // Numerator of fraction
private int denominator; // Denominator of fraction

// Constructors
public Fraction(int num, int denom) {
numerator = num;
denominator = denom;
}

// Instance methods
public int getNumerator() {
return numerator;
}

public int getDenominator() {
return denominator;
}

public Fraction add(Fraction f) {
int num = numerator * f.denominator +
f.numerator * denominator;
int denom = denominator * f.denominator;
return new Fraction(num, denom);
}
}

Explanation / Answer

Required solution:

public class Fraction {
   // Instance variables
   private int numerator; // Numerator of fraction
   private int denominator; // Denominator of fraction

   // Constructors
   public Fraction() {
       numerator = 0;
       denominator = 1;
   }

   public Fraction(int num) {
       numerator = num;
       denominator = 1;
   }

   public Fraction(int num, int denom) {
       numerator = num;
       denominator = denom;
   }

   // Instance methods
   public int getNumerator() {
       return numerator;
   }

   public int getDenominator() {
       return denominator;
   }

   public Fraction divide(Fraction f) {
       return new Fraction(numerator * f.denominator, f.numerator
               * denominator);
   }

   public void scaleup(int factor) {
       numerator = numerator * factor;
   }

   public void scaledown(int factor) {
       if (factor == 0) {
           System.out.println("Warning cannot scale down with 0");
           System.exit(0);
       }
       denominator = denominator * factor;
   }

   public void scale(boolean flag, int factor) {
       if (flag)
           scaleup(factor);
       else
           scaledown(factor);
   }

   public Fraction add(Fraction f) {
       int num = numerator * f.denominator + f.numerator * denominator;
       int denom = denominator * f.denominator;
       return new Fraction(num, denom);
   }
}