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)