-1

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

2 回答 2

7

如果块之后

while (n<0 || n>2)

被执行,你知道它n是 < 0 或 > 2。因此它不能等于 1 或 2 并且else块被执行,它恰好是空的,因为它后面跟着 a ;

这还没有提到您的代码中发现的一些奇怪的语句;-)

ps:我已经编辑了您的帖子,以在您的代码中添加适当的缩进并包含{}. 现在可能看起来更清楚了。

于 2012-05-30T16:35:16.580 回答
0
else;

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

这条线也很糟糕:

while (1==1);

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

于 2012-05-30T16:35:06.810 回答