首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复的局部变量

重复的局部变量
EN

Stack Overflow用户
提问于 2013-01-15 09:32:14
回答 3查看 806关注 0票数 0

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

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

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

代码语言:javascript
复制
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!");
            }
            }

}
EN

回答 3

Stack Overflow用户

发布于 2013-01-15 09:35:01

替换

代码语言:javascript
复制
**int inputNumber = keyboard.nextInt();** 

使用

代码语言:javascript
复制
inputNumber = keyboard.nextInt(); 

在原始版本中,您将在while范围内创建一个新变量,而不是将其赋给外部的旧变量。

因为它在while块之后被销毁,所以条件本身在函数作用域中使用该变量。

票数 6
EN

Stack Overflow用户

发布于 2013-01-15 09:34:54

这一行重新声明了已经声明过的inputNumber。

代码语言:javascript
复制
int inputNumber = keyboard.nextInt();

将其更改为

代码语言:javascript
复制
inputNumber = keyboard.nextInt();
票数 3
EN

Stack Overflow用户

发布于 2013-01-15 09:36:19

你已经在顶部定义了,所以你不需要重新定义它。而应该是inputNumber = keyboard.nextInt();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14329799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档