public class NumberSearch {

	public static void main(String[] args) {

		int lb, ub; // untere Schranke und obere Schranke

		// Initialisierung
		lb = 0;
		ub = 101;

		// boolsche Variable, die anzeigt, ob Zahl bereits gefunden wurde
		boolean found = false;

		// solange zahl nicht gefunden
		while (! found) {

			if (ub - lb == 2) {

				// Zahl ist gefunden, wenn zwischen lb und ub nur eine Zahl ist;
				// diese Zahl muss die gesucht Zahl sein.
				Out.println("Die Zahl ist " + (lb + 1));
				found = true;

			} else {

				//  Mache Vermutung in Mitte von lb und ub
				int guess = (lb + ub) / 2;

				//  Gib Vermutung aus und lese Antwort ein
				Out.println("Ich vermute die Zahl ist " + guess);
				Out.print("Bitte Hinweis (=, < oder >): ");
				char reply = In.readChar();

				// Unterscheide Hinweis
				if (reply == '=') {
					//  Wenn = dann  gewonnen
					Out.println("Ich bin super!");
					found = true;
				} else if (reply == '<') {
					//  sonst wenn < dann ub = Vermutung
					ub = guess;
				} else if (reply == '>') {
					// sonst wenn > lb = Vermutung
					lb = guess;
				} else {
					Out.println("Falsche Eingabe: Bitte mit =, < oder > antworten!");
				}
			}
		}

	}
}
