The ADT of the class Fraction is: Members: private int numerator; private int denominator; //must be > 0 This implements the interface of Comparable Methods: PUBLIC methods: Constructor: PRECONDITIONS: none INPUT: none PROCESS: It creates the the Fraction and assigns numerator to be to be 0 and the denominator to be 1. OUTPUT: none POSTCONDITIONS: The Fraction is created. Constructor: PRECONDITIONS: none INPUT: int numer PROCESS: It creates the the Fraction and assigns numerator to be num and denominator to be 1. OUTPUT: none POSTCONDITIONS: The Fraction is created. Constructor: PRECONDITIONS: denom is not zero INPUT: int numer, int denom PROCESS: It creates the the Fraction and assigns numerator to be num and denominator to be denom. It makes sure that denom is positive, and if not, modifies it to be so. It reduces the values so that the least common denominator of the fraction is one. OUTPUT: none POSTCONDITIONS: The Fraction is created. add PRECONDITIONS: none INPUT: Fraction to be added PROCESS: It creates a new Fraction which is the sum of the two Fractions. OUTPUT: new Fraction which is the sum of the two. POSTCONITIONS: none subtract PRECONDITIONS: none INPUT: Fraction to be subtracted PROCESS: It creates a new Fraction which is the difference of the two Fractions. OUTPUT: new Fraction which is the difference of the two. POSTCONITIONS: none multiply PRECONDITIONS: none INPUT: Fraction to be multiplied PROCESS: It creates a new Fraction which is the product of the two Fractions. OUTPUT: new Fraction which is the product of the two. POSTCONITIONS: none divide PRECONDITIONS: The input Fraction must not be zero. INPUT: Fraction to be divided PROCESS: It creates a new Fraction which is the quotient of the two Fractions. OUTPUT: new Fraction which is the quotient of the two. POSTCONITIONS: none reciprocal PRECONDITIONS: The Fraction itself must not have numerator zero. INPUT: none PROCESS: It creates a new Fraction which is the reciprocal of the Fraction. OUTPUT: new Fraction which is the reciprocal of the original. POSTCONDITIONS: none increment PRECONDITIONS: none INPUT: none PROCESS: It adds one to the Fraction. OUTPUT: none POSTCONDITIONS: It increments the value of the Fraction by one getNumerator PRECONDITIONS: none INPUT: none PROCESS: It returns the numerator. OUTPUT: the numerator (an integer) POSTCONDITIONS: none getDenominator PRECONDITIONS: none INPUT: none PROCESS: It returns the denominator. OUTPUT: the denominator (an integer) POSTCONDITIONS: none equals PRECONDITIONS: none INPUT: The Fraction to which one compares PROCESS: It returns true if the Fractions are equal, otherwise false. OUTPUT: boolean, true if the two Fractions are equal POSTCONDITIONS: none assigns PRECONDITIONS: none INPUT: The Fraction to which one assigns the value PROCESS: It assigns the values of the input Fraction to the Fraction. No new Fraction is created. OUTPUT: none POSTCONDITIONS: The fraction has changed its value compareTo PRECONDITIONS: none INPUT: The Fraction to which one compares PROCESS: It returns a positive number if the Fraction sent is less than the Fraction, zero if they are equal, and a negative number if the Fraction sent is larger than the Fraction. OUTPUT: int, positive if larger than one to compare to, zero if equal, and negative if smaller than the one sent to compare to. POSTCONDITIONS: none toString PRECONDITIONS: none INPUT: none PROCESS: It returns a string which is to be used in the System.out to generate output. OUTPUT: A String which is the output of printing the Fraction. POSTCONDITIONS: none PRIVATE methods reduce PRECONDITIONS: none INPUT: none PROCESS: It divides the numerator and denominator by their greatest common divisor. OUTPUT: none POSTCONDITIONS: numerator and denominator are modified gcd PRECONDITIONS: none INPUT: two integers PROCESS: It finds the great common divisor of the two integers. OUTPUT: an integer, their greatest common divisor POSTCONDITIONS: none