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