如果声明不起作用,请跳过其他地方

时间:2012-05-30 16:32:33

标签: java if-statement

我的“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);

2 个答案:

答案 0 :(得分:7)

如果阻止后

while (n<0 || n>2)
执行了

,你知道n要么是&lt; 0或&gt; 2.因此它不能等于1或2并执行else块,恰好是空的,因为后面跟着;

没有提到代码中发现的一些奇怪的陈述; - )

ps:我已修改您的帖子,为您的代码添加正确的缩进,并包含{}。现在看起来可能更清晰了。

答案 1 :(得分:0)

else;

这是非常错误的。 您没有else语句,这意味着执行以下代码行。

这条线也非常糟糕:

while (1==1);

请按照规范缩进并删除不需要的';'。