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");
}
}
我正在尝试提示用户输入一个号码,但我无法让它正常运行。我希望它一直运行,直到输入正确的输入。
答案 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));
答案 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)
第一个比较goodInput
与false
的值,第二个否定goodInput
的值,您的版本将false
分配给goodInput
< / p>