Jay-R R
2012-03-17 19:09:55 UTC
Guessing Game: Computer generates a number in a range between 1 and 100. And then ask user enter a guess. When user’s guess is lower than the answer, then give a hint (Too low) and then show a new range for next guess as shown in the sample run. If player enters a value outside of valid range, then you should give a warning and request a valid input. Player can guess until they get the right answer and program tracks the number of guess.
Hint: Use the Math.random() method to calculate a random value.
Here is a sample run:
Okay, I decided a number between 1 and 100. Try a guess[1,100]: 45
Noop! Try lower. [1,44]: 20
Noop! Try lower. [1,19]: 10
Noop! Try higher. [11,19]: 15
YES!! You got it after 4 times.
I can write the simpler code of what it's asking but I'm having trouble when it asks "When user’s guess is lower than the answer, then give a hint (Too low) and then show a new range for next guess as shown in the sample run."
Here's the code I have:
int secretNumber=(int)(101 * Math.random ()) + 1 ;
int guess;
int numberOfGuesses;
Scanner input = new Scanner(System.in);
numberOfGuesses = 0;
System.out.println("Guess a number between 1 and 100:");
do {
guess = input.nextInt();
numberOfGuesses++;
if(guess > secretNumber){
System.out.println("Too high.");}
else if(guess < secretNumber){
System.out.println("Too low.");}
else{
System.out.println("Good job.");
System.out.println("Number of Guesses: "+ numberOfGuesses);}}
while(guess != secretNumber);
}}