打破循环

时间:2012-01-09 15:18:18

标签: java loops break

我试图突破一个循环,我只想继续输入数字直到我输入0,这就是我所拥有但我似乎无法打破它。

import javabook.*;

class loop {

    public static void main (String [] args) {

        MainWindow mWin = new MainWindow();
        InputBox iBox = new InputBox(mWin);

        int numbers = iBox.getInteger("");

        while (numbers > 0) {
            if (numbers > 0) {
                iBox.getInteger("EnterNumber");
            } else if (numbers == 0) {
                break;
            }
        }

    }

}

7 个答案:

答案 0 :(得分:9)

您似乎需要将号码重新分配给iBox.getInteger()

的结果

尝试更改

iBox.getInteger("EnterNumber");

numbers = iBox.getInteger("EnterNumber");

答案 1 :(得分:2)

您可以设置一次数字的值。初始化时,您从不为其分配其他值。 我认为这应该有用,但我没有测试过。

import javabook.*;
 class loop{
  public static void main (String [] args){

 MainWindow mWin = new MainWindow();
 InputBox iBox = new InputBox(mWin);

 int numbers = -1;

 while(numbers != 0){
    numbers = iBox.getInteger("EnterNumber");
}
}

}

答案 2 :(得分:2)

尝试do-while

int number;

do {
    number = iBox.getInteger("Enter number: ");
} while (number > 0); 

答案 3 :(得分:1)

如果您在调试器中单步执行代码,您会发现在while循环中没有更改numbers,因此它永远不会退出。

答案 4 :(得分:1)

也许你应该试试这个:

numbers = iBox.getInteger("EnterNumber");

答案 5 :(得分:1)

按照建议,您最终会得到:

while (numbers > 0)
{
    numbers = iBox.getInteger("EnterNumber");
}

答案 6 :(得分:1)

无用的休息。

else if (numbers == 0){ break; }

是多余的,因为如果数字为0,则条件将退出。其他 if 也是多余的。你可以用

做同样的事情
while(numbers > 0){  
    iBox.getInteger("EnterNumber"); 
}

请记住,这是一个无限循环,因为数字永远不会改变。

PS:获得一本好的编程书/教程