Listing 1: Hi-Lo in Java
import java.io.*; public class Hilo { public static void main (String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); boolean done = false; while (!done) { boolean found = false; int lo = 1, hi = 100, guess = 0; while (!found && lo <= hi) { guess = (lo + hi) / 2; System.out.println("Is it " + guess + "?"); char r = in.readLine().toUpperCase().charAt(0); if (r == 'L') lo = guess + 1; else if (r == 'H') hi = guess - 1; else if (r != 'Y') System.out.println("Try again..."); else found = true; } if (lo > hi) System.out.println("You cheated!"); else System.out.println("Your number was " + guess); System.out.println("Want to play again?"); done = in.readLine().toUpperCase().charAt(0) != 'Y'; } } }