Java Reference
In-Depth Information
17 else if (guess > number)
18 System.out.println( "Your guess is too high" );
19 else
20 System.out.println( "Your guess is too low" );
21 }
22 }
too high?
too low?
When you run this program, it prompts the user to enter a guess only once. To let the user
enter a guess repeatedly, you may wrap the code in lines 11-20 in a loop as follows:
while ( true ) {
// Prompt the user to guess the number
System.out.print( "\nEnter your guess: " );
guess = input.nextInt();
if (guess == number)
System.out.println( "Yes, the number is " + number);
else if (guess > number)
System.out.println( "Your guess is too high" );
else
System.out.println( "Your guess is too low" );
} // End of loop
This loop repeatedly prompts the user to enter a guess. However, this loop is not correct,
because it never terminates. When guess matches number , the loop should end. So, the loop
can be revised as follows:
while (guess != number) {
// Prompt the user to guess the number
System.out.print( "\nEnter your guess: " );
guess = input.nextInt();
if (guess == number)
System.out.println( "Yes, the number is " + number);
else if (guess > number)
System.out.println( "Your guess is too high" );
else
System.out.println( "Your guess is too low" );
} // End of loop
The complete code is given in ListingĀ 5.3.
L ISTING 5.3
GuessNumber.java
1 import java.util.Scanner;
2
3 public class GuessNumber {
4
public static void main(String[] args) {
5
// Generate a random number to be guessed
6
int number = ( int )(Math.random() * 101 );
generate a number
7
8 Scanner input = new Scanner(System.in);
9 System.out.println( "Guess a magic number between 0 and 100" );
10
11 int guess = -1 ;
12 while (guess != number) {
13 // Prompt the user to guess the number
14 System.out.print( "\nEnter your guess: " );
 
Search WWH ::




Custom Search