-1
while (goodInput=false)
        {
            try
            {
                System.out.println("How long is the word you would like to guess?");
                wordSize=scan.nextInt();
                while(wordSize>word.longestWord())
                {
                    System.out.println("There are no words that big! Please enter another number");
                    wordSize=scan.nextInt();
                }
                goodInput=true;
            }
            catch(InputMismatchException ime)
            {
                System.out.println("Thats not a number! Try again");
            }

        }

我试图提示用户输入一个数字,但我无法让它正确运行。我希望它继续运行,直到输入正确的输入。

4

4 回答 4

2

一个问题是:

while (goodInput=false)

分配falsegoodInputwhich becomewhile(false)导致循环根本不执行

将其更改为

while (!goodInput)
于 2012-12-09T17:22:55.187 回答
0

循环中的条件while需要是

 while(goodinput == false)

您正在做的是分配false给 goodinput 导致最终结果为false. 请参阅以下语句的输出,

boolean a;
System.out.println((a = false));

你需要一个相等运算符

于 2012-12-09T17:22:59.173 回答
0

首先,

while (goodInput=false) 

分配falsegoodInput,您必须使用==运算符来检查是否goodInputfalse

while (goodInput==false)

要不就

while (!goodInput) would suffice

这是java中对等式运算符的引用

于 2012-12-09T17:23:14.057 回答
0

你必须写

while (goodInput == false)

甚至更好

while (!goodInput)

代替

while (goodInput = false)

第一个比较goodInputwith的值false,第二个否定 of 的值,goodInput您的版本分配falsegoodInput

于 2012-12-09T17:23:31.410 回答