|
Hi, I have another schript which I hope someone can help me with, it's just a minor problem. This is a Hi-low guessing game that continues until you have guessed the correct number, and then count how many tries you make. The only thing that don't work is that after you have guessed a right number you have the opportunitiy to play again, and that problem I haven¨t been able to solve.
here is the code:
import java.util.Random;
import java.util.Scanner;
public class HiLoGame{
//
// Plays the Hi-Lo guessing game with the user
//
public static void main(String[] args) {
boolean done = true;
boolean playAgain = true;
Random numberGenerator = new Random();
int randomNumber;
int numberOfGuesses = 0;
Scanner scan = new Scanner(System.in);
randomNumber = numberGenerator.nextInt(100) + 1;
while (playAgain)
{
for(int i = 0; i<1; i++)
numberOfGuesses++;
final String guessMessage = "Enter your guess (0 to quit): ";
final String tooHigh = "Sorry, the number you entered is higher than my number.";
final String tooLow = "Sorry, the number you entered is lower than my number.";
final String justRight = "Congratulations! You guessed my number!";
final String playAgainMessage = "Play again?";
System.out.print(guessMessage);
String entry = scan.nextLine();
if(entry.equals ("0"))
break;
int userNumber = Integer.parseInt(entry);
if (userNumber > randomNumber)
System.out.println(tooHigh);
else if(userNumber < randomNumber)
System.out.println(tooLow);
else
{
{
System.out.println();
System.out.println(justRight);
playAgain = false;
System.out.println("Your total guess for the round was " + numberOfGuesses +" times.");
}
System.out.println(playAgainMessage);
entry = scan.nextLine();
if(entry.equalsIgnoreCase("n"))
done = false;
}
}
}}
|
|
|
import java.util.Random;
import java.util.Scanner;
public class HLG {
//
// Plays the Hi-Lo guessing game with the user
//
public static void main(String[] args) {
String guessMessage = "Enter your guess (0 to quit): ";
String tooHigh = "Sorry, the number you entered is higher than my number.";
String tooLow = "Sorry, the number you entered is lower than my number.";
String justRight = "Congratulations! You guessed my number!";
String playAgainMessage = "Play again? <'y' 'n'>";
// boolean done = true;
boolean playAgain = true;
Random numberGenerator = new Random();
// int randomNumber;
int numberOfGuesses = 0;
Scanner scan = new Scanner(System.in);
int randomNumber = numberGenerator.nextInt(100) + 1;
while (playAgain) {
// for(int i = 0; i<1; i++)
numberOfGuesses++;
System.out.print(guessMessage);
String entry = scan.nextLine();
if(entry.equals ("0"))
break;
int userNumber = Integer.parseInt(entry);
if (userNumber > randomNumber)
System.out.println(tooHigh);
else if(userNumber < randomNumber)
System.out.println(tooLow);
else // success
{
System.out.println();
System.out.println(justRight);
playAgain = false;
System.out.println("Your total guess for the round was " +
numberOfGuesses +" times.");
System.out.println(playAgainMessage);
entry = scan.nextLine();
if(entry.equalsIgnoreCase("y"))
{
randomNumber = numberGenerator.nextInt(101);
playAgain = true;
numberOfGuesses = 0;
}
else // exit program...
scan.close();
}
}
}
}
|
|
|
|
|
|
|
|
|
|