Implement an immutable data type Rational for rational numbers that supports addition, subtraction, multiplication, and division. public class Rational: Rational(int numerator. int denominator) Rational plus(Rational b) sum of this number and b Rational minus(Rational b) difference of this number and b Rational times(Rational b) product of this number and b Rational divides(Rational b) quotient of this number and b boolean equals(Rational that) is this number equal to that ? String toString() string representation You do not have to worry about testing for overflow, but use as instance variables two long values that represent the numerator and denominator to limit the possibility of overflow. Use Euclid’s algorithm to ensure that the numerator and denominator never have any common factors. Include a test client that exercises all of your methods.
Implement an immutable data type Rational for rational numbers that supports addition, subtraction, multiplication, and division. public class Rational:
Rational(int numerator. int denominator)
Rational plus(Rational b) sum of this number and b
Rational minus(Rational b) difference of this number and b
Rational times(Rational b) product of this number and b
Rational divides(Rational b) quotient of this number and b
boolean equals(Rational that) is this number equal to that ?
String toString() string representation
You do not have to worry about testing for overflow, but use as instance variables two long values that represent the numerator and denominator to limit the possibility of overflow. Use Euclid’s
Step by step
Solved in 4 steps with 1 images