/** * TestFractions is a basic program to test the methods of the Fraction object. * Don't modify this program. Compare its output to the given output. * * @author Adam Smith * @version 1.0 */ public class TestFractions { // it all starts here public static void main(String[] args) { Fraction fraction1, fraction2; // define the Fractions fraction1 = new Fraction(1, 2); fraction2 = new Fraction(6, 9); System.out.println("First fraction is: " +fraction1+ " (equivalent to " +fraction1.toDouble()+ ")"); System.out.println("Second fraction is: " +fraction2+ " (equivalent to " +fraction2.toDouble()+ ")"); // do some basic math System.out.println(); System.out.println("Sum: " + fraction1.add(fraction2)); System.out.println("Difference: " + fraction1.subtract(fraction2)); System.out.println("Product: " + fraction1.multiply(fraction2)); System.out.println("Quotient: " + fraction1.divide(fraction2)); // equality System.out.println(); System.out.println("Are the fractions equal? " +fraction1.equals(fraction2)); System.out.println("Is the first equal to 1/2? " +fraction1.equals(new Fraction(1,2))); // accessors & mutators System.out.println(); System.out.println("The numerator of the first fraction is " +fraction1.getNumerator()+ "."); System.out.println("The denominator of the first fraction is " +fraction1.getDenominator()+ "."); System.out.println("Separately changing numerator to 6, and denominator to 7..."); fraction1.setNumerator(6); fraction1.setDenominator(7); System.out.println(" ...and the result is: " +fraction1); // fun with zero System.out.println(); Fraction fraction0, fractionI, fractionX; fraction0 = new Fraction(0, 2); System.out.println("Zero as a fraction is " +fraction0+ " (equivalent to " +fraction0.toDouble()+ ")."); fractionI = new Fraction(-16, 0); System.out.println("Negative infinity as a fraction is " +fractionI+ " (equivalent to " +fractionI.toDouble()+ ")."); fractionX = new Fraction(0, 0); System.out.println("NaN as a fraction is " +fractionX+ " (equivalent to " +fractionX.toDouble()+ ")."); } }