我的“if”语句似乎无法正常工作,无论我输入什么似乎总是默认为我的“else”语句。例如,如果我输入整数“1”或“2”,它们具有与它们相关联的“if”语句,则它仍然默认为“else”。任何帮助将不胜感激:)
String number = JOptionPane.showInputDialog("Would you like a custom loop count or an infinite? 1. Custom 2. Infinite"); //test choice
n = Integer.parseInt(number);
while (n < 0 || n > 2) {
if (n == 1) {
String number2 = JOptionPane.showInputDialog("How many times would you like to loop?");
integer = Integer.parseInt(number2);
while (integer < 0) {
while (x < integer) {
g.drawString("hi", 200, y);
x += 1;
y = y + 40; //test
}//end while
}
}//end if
else if (n == 2) {
while (1 == 1);
}//end if
else;
}
g.drawString("Please pick a valid choice", 200, 200);
答案 0 :(得分:7)
如果阻止后
while (n<0 || n>2)
执行了,你知道n
要么是&lt; 0或&gt; 2.因此它不能等于1或2并执行else
块,恰好是空的,因为后面跟着;
。
没有提到代码中发现的一些奇怪的陈述; - )
ps:我已修改您的帖子,为您的代码添加正确的缩进,并包含{
和}
。现在看起来可能更清晰了。
答案 1 :(得分:0)
else;
这是非常错误的。 您没有else语句,这意味着执行以下代码行。
这条线也非常糟糕:
while (1==1);
请按照规范缩进并删除不需要的';'。