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.: