0

我最近开始使用 java 编程并需要帮助。

使用 Programming Java for Dummies,我正在尝试制作一个用户必须猜数字的游戏。一旦用户最终得到正确答案,就会记录并显示尝试次数。

星号线给我带来了麻烦,有什么帮助吗?

import static java.lang.System.out;
import java.util.Scanner;
import java.util.Random;

import javax.swing.JOptionPane;

public class HelloWorld
{
        public static void main(String args[])
        {
            Scanner keyboard = new Scanner (System.in);
            out.println("Hello, welcome to the Guessing Game.");
            out.println("To begin, pick a random number from 1 - 10: ");

            int inputNumber = keyboard.nextInt();
            int randomNumber = new Random(1).nextInt(10);
            int numGuesses = 0;

            while (inputNumber != randomNumber){

                out.println();
                out.println("You're guess was wrong, try again.");
                out.println("Pick an integer from 1-10.");
                **int inputNumber = keyboard.nextInt();** 
                numGuesses++;
            }

            {

                out.println("You won in " + numGuesses + " guesses.");

                out.println("Thanks for playing!");
            }
            }

}
4

3 回答 3

6

代替

**int inputNumber = keyboard.nextInt();** 

inputNumber = keyboard.nextInt(); 

使用原始版本,您是在 范围内创建一个新变量while,而不是分配给外部的旧变量。

由于它在 while 块之后被销毁,因此条件本身使用函数范围内的变量。

于 2013-01-15T01:35:00.980 回答
3

此行正在重新声明已声明的 inputNumber。

int inputNumber = keyboard.nextInt();

将其更改为

inputNumber = keyboard.nextInt();
于 2013-01-15T01:34:54.037 回答
0

您已经在顶部定义了,因此您不必重新定义它。相反,它应该是inputNumber = keyboard.nextInt();

于 2013-01-15T01:36:19.083 回答