import java.io.*; import java.util.*; import type.lib.*; public class GuessingGame { public static void main(String[] args) { PrintStream output = System.out; Scanner input = new Scanner(System.in); output.print("Enter the test fraction denominator ... "); long den = input.nextLong(); final long MIN_DENOM = 1; final long MAX_DENOM = 40; ToolBox.crash(den < MIN_DENOM || den > MAX_DENOM, "Denominator out of range."); final Fraction TEST = new Fraction(1, den); output.print("The test fraction is "); output.println(TEST); output.println(); final int MAX_GUESSES = 3; boolean stillGuessing = true; for (int i = 1; i <= MAX_GUESSES && stillGuessing; i++) { output.printf("Enter guess %d ... ", i); long num = input.nextLong(); den = input.nextLong(); Fraction f = new Fraction(num, den); output.print(f); if (f.compareTo(TEST) < 0) { output.println(" is too small."); output.println(); } else if (f.compareTo(TEST) > 0) { output.println(" is too big."); output.println(); } else { output.println(" is correct!"); stillGuessing = false; } } if (stillGuessing) { output.print("Sorry, out of guesses. The fraction was "); output.println(TEST); } } }