/** * Matt Kretchmar * February 7, 2006 * Guesser.java * This program implements the game of guessing a secret number. The * computer selects a secret random number between 1 and 20. The user * attempts to guess at this number in as few tries as possible. The * computer provides "guess higher" and "guess lower" feedback. */ import java.util.Scanner; import java.util.Random; class Guesser { public static void main ( String [] args ) { int number; // The computer's secret number int turns; // The number of guesses the user has made int guess; // The user's current guess String s; // Used to read in a character char playAgain; // Hold the Y/N to play again Scanner keyboard = new Scanner(System.in); Random generator = new Random(); // outer loop repeats the game over and over as long as the user // wants to keep playing. do { // create a secret random number between 1 and 20 inclusive number = generator.nextInt(20)+1; turns = 0; guess = 0; // inner loop keeps the user guessing until they get the // correct secret number. while ( guess != number ) { System.out.println("Enter a guess: "); guess = keyboard.nextInt(); turns++; if ( guess == number ) System.out.println("correct with " + turns + " guesses"); else if ( guess < number ) System.out.println("guess higher"); else System.out.println("guess lower"); } // See if the user wants to play the game again. System.out.println("Do you want to play again (Y,N)?"); s = keyboard.next(); playAgain = s.charAt(0); } while ( playAgain == 'y' || playAgain == 'Y' ); } }