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

RationalNumber Write a class called RationalNumber that represents a fraction wi

ID: 3937062 • Letter: R

Question

RationalNumber

Write a class called RationalNumber that represents a fraction with an integer numerator and denominator. A RationalNumber object should have the following methods:

Constructs a new rational number to represent the ratio (numerator/denominator). The denominator cannot be 0, so throw an IllegalArgumentException if 0 is passed.

Constructs a new rational number to represent the ratio (0/1).

Returns this rational number’s denominator value; for example, if the ratio is (3/5), returns 5.

Returns this rational number’s numerator value; for example, if the ratio is (3/5), returns 3.

Returns a String representation of this rational number, such as "3/5". You may wish to omit denominators of 1, returning "4" instead of "4/1".

Returns true if this and other are equivalent RationalNumbers

Returns rational number that is this + other.

Returns rational number that is this - other.

Returns rational number that is this * other.

Returns rational number that is this / other.

Your RationalNumber objects should always be in reduced form, avoiding rational numbers such as 3/6 in favor of 1/2, or avoiding 2/–3 in favor of –2/3. This may require the implementation of another method. Consider the Greatest Common Divisor (GCD) definition: The GCD of two integers a and b is the largest integer that is a factor of both a and b. One efficient way to compute the GCD of two numbers is to use Euclid’s algorithm, which states the following:

Explanation / Answer

package org.students;

public class RationalNumber {

   private int numerator;
   private int denominator;
   public RationalNumber()
   {
       this.numerator=0;
       this.denominator=1;
   }
   public RationalNumber(int numerator, int denominator) {
       super();
       this.numerator = numerator;
       if(denominator==0)
           throw new IllegalArgumentException(":: The Denominator cannot be Zero ::");
       else
       this.denominator = denominator;
   }
   public int getNumerator() {
       return numerator;
   }

   public int getDenominator() {
       return denominator;
   }
   @Override
   public String toString() {
       return "RationalNumber [numerator=" + numerator + ", denominator="
               + denominator + "]";
   }
  
  

}