【发布时间】:2013-11-25 16:39:02
【问题描述】:
我正在编写一个生成随机数的程序,然后让用户猜测这个数字。我有两种方法:
public static void main(String[] args)
{
//Declares methods to be used during process
generateNumber();
playGame();
}
第一个方法generateNumber() 执行良好。代码如下所示:
public static void generateNumber()
{
//Generates number and assigns it to the variable "randomNumber"
System.out.println("Generating random number between 0 and 100. Please wait.");
Random rand = new Random();
int randomNumber = rand.nextInt(101) + 1;
System.out.println("Random number generated");
}
然后流程结束,第二种方法playGame():
public static void playGame()
{
//Asks for guess of the number. Prints whether the guess is above or below randomNumber.
Scanner reader = new Scanner(System.in);
while(userGuess != randomNumber){
System.out.println("Guess the number ");
userGuess = reader.nextInt();
if (userGuess > randomNumber) {
numberOfGuesses++;
System.out.println("Incorrect! The number that you guessed is greater than my number!");
} else {
numberOfGuesses++;
System.out.println("Incorrect! The number that you guessed is less than my number!");
}
if(userGuess == randomNumber){
System.out.println("Correct! My number was "+randomNumber+". It took you "+numberOfGuesses+" tries to find my number!");
}
}
}
格式可能不好,但我只是从 JCreator 转移过来的,结果一团糟。我确信这是非常简单的事情,但任何帮助表示赞赏。
【问题讨论】:
-
您的代码无法编译
-
我该如何解决呢?
-
这是什么行为?错误是什么?是否没有错误,您预计会发生什么以及您观察到了什么?
-
读错是第二种方法没有执行
-
我们可以初始化 int userGuess = -1; ?在while循环之前?