提示用户,直到输入正确的输入类型

时间:2012-12-09 17:21:45

标签: java java.util.scanner

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 个答案:

答案 0 :(得分:2)

一个问题是:

while (goodInput=false)

false分配给goodInput,后者变为while(false)导致循环未执行

将其更改为

while (!goodInput)

答案 1 :(得分:0)

while循环中的条件需要

 while(goodinput == false)

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

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

你需要equality operator

答案 2 :(得分:0)

首先,

while (goodInput=false) 

false分配给goodInput,如果==goodInput,则必须使用false运算符tocheck

while (goodInput==false)

或者只是

while (!goodInput) would suffice

这是对java中Equality Operator的引用

答案 3 :(得分:0)

你必须写

while (goodInput == false)

甚至更好

while (!goodInput)

而不是

while (goodInput = false)

第一个比较goodInputfalse的值,第二个否定goodInput的值,您的版本将false分配给goodInput < / p>