Question: Write and fully test a class that represents rational numbers. A rational number can be represented as the ratio of two integer values, a and

Write and fully test a class that represents rational numbers. A rational number can be represented as the ratio of two integer values, a and b, where b is not zero. The class has attributes for the numerator and denominator of this ratio. The ratio should always be stored in its simplest form. That is, any common factor of a and b should be removed. For example, the rational number 40/12 should be stored as 10/3.

The class has the following constructors and methods:

  • A default constructor that sets the rational number to 0/1.
  • A constructor that has parameters for the numerator and denominator and converts the resulting ratio to simplified form.
  • simplify—a private method that converts the rational number to simplified form.
  • getGCD(x, y)—a private static method that returns the largest common factor of the two positive integers x and y, that is, their greatest common divisor. For example, the greatest common divisor of 40 and 12 is 4.
  • getValue—returns the rational number as a double value.
  • toString—returns the rational number as a string in the form a/b.

Step by Step Solution

3.41 Rating (157 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

public class Rational private int numer private int denom Creates a new instance ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Java An Introduction to Problem Solving and Progra Questions!