Java Reference
In-Depth Information
20 System.out.println( "Your guess is too low" );
21 }
22 }
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 put 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 4.3.
L ISTING 4.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
12
13 // Prompt the user to guess the number
14 System.out.print( "\nEnter your guess: " );
15 guess = input.nextInt();
16
17 if (guess == number)
18 System.out.println( "Yes, the number is " + number);
19
int guess = -1 ;
while (guess != number) {
enter a guess
else if (guess > number)
Search WWH ::




Custom Search