Background. Sometimes, it is convenient to use fractions. In principle, we can represent each fraction as a double, but for fractions like 1/3, this representation is approximate. Let us use objects to represent fractions exactly.
Assignment for Lab 9. Define a class of fractions. Each instance of this class should have two integer-valued fields: numerator and denominator. Define a constructor, appropriate set-methods (modifiers) and get-methods, a method returning a type-double value of a fraction, and a method that prints the fraction as p/q. Use the main method to test your class.
Assignment for Lab 10. Add, to your Fraction class, the following arithmetic operations:
For extra credit. Add, to your Fraction class, a method that simplifies the current fraction by dividing both numerator and denominator by their greatest common divisor. For example, 12/18 should be simplified into 2/3.
To compute the greatest common divisor g of the values p and q, you can use one of the algorithms described in the textbook or the algorithm presented in the MW 12-1:20 version of Test 2:
int i = p; int q = q; while(i > 0 && j > 0){ if (i >= j) {i = i%j;} else {j = j%i;} } if(i > 0) {g = i;} else {g = j;}When it is due. Lab 9 is due at the beginning of the first lab section on the week of November 4, i.e.: