Wednesday, 2 October 2013

java guessing game runs but doesnt run correctly

java guessing game runs but doesnt run correctly

Cant figure out what I am doing wrong in my java guessing game program.
The computer picks a number between 1 and 100 and the user is asked to
guess it. User is prompted with too low or too high and asked to guess
again until they get it right. My problem is that when you guess the
number right, it will always say too low, but then if you type the same
number again it will say correct.
package guessinggame;
import java.util.Scanner;
/**
*
* @author
*/
public class GuessingGame {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Scanner input = new Scanner (System.in);
int guesses; //number of users guesses
int housePick; //number the user must guess
int guess; //users guess
guesses = 0;
housePick = (int)((Math.random() * 100) +1 );
//sets housePick to random number from 1 to 100
System.out.println("I'm thinking of a number between 1 and 100") ;
//print "Im thinking of a nubmer between 1 and 100"
System.out.println("Can you guess what it is?");
//print "can you guess what it is"
System.out.println
("Enter a number from 1 to 100 (including 1 and 100)");
//prompt user to enter number
System.out.println("test " +housePick );
//Test: tells user the correct answer
do
{
guess = input.nextInt();
if (guess > housePick) //and if guess > housePick...
{
if ((guess - 10) <= housePick )
//and if guess is 10 numbers away from housePick...
{
System.out.println("Close, but too high. Try again.");
//print "close but too high, try again"
guesses = guesses+ 1 ;
}
else //if guess is not close and
guess>housePick...
{
System.out.println ("Too high, try again.");
//then print "Too high, Try again"
guesses = guesses+ 1;
}
}
else //If guess<housePick
{
if ((guess + 10) >= housePick) //AND if guess is close to
housePick
{
System.out.println ("close, but too low.") ;
//then print "close, but too low"
guesses = guesses + 1;
}
else//If guess isnt close to housePick and is less than
housePick...
{
guesses = guesses+ 1;
System.out.println ("Too low.");//then print "too low"
}
}
}while (guess != housePick); //while guess doesnt = housePick...
guess = input.nextInt();
//save entered number as guess
guesses = guesses + 1;
System.out.println ("You win! It took you " + guesses + "
guesses.");
//If guess = housePick print "Yout win! It took you (# of guesses)"
}
}

No comments:

Post a Comment