Java 打破循环
我试图打破一个循环,我只想一直输入数字,直到我输入0,这是我所拥有的,但我似乎无法打破它Java 打破循环,java,loops,break,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.getInte
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;
}
}
}
}
看起来您需要将数字重新分配给
iBox.getInteger()
的结果
试着改变
iBox.getInteger("EnterNumber");
到
如果您在调试器中单步执行代码,您将看到您没有在while循环中更改编号,因此它将永远不会退出。您只需设置一次编号值。当它被初始化时,但您从未给它分配另一个值。 我认为这应该行得通,但我还没有测试过
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");
}
}
}尝试
边做边做
:
int number;
do {
number = iBox.getInteger("Enter number: ");
} while (number > 0);
也许你应该试试这个:
numbers = iBox.getInteger("EnterNumber");
按照这些建议,您将得到以下结果:
while (numbers > 0)
{
numbers = iBox.getInteger("EnterNumber");
}
无用的休息
else if (numbers == 0){ break; }
是多余的,因为如果数字为0,则将退出完全相同的while条件。另一个if也是多余的。你可以用它做同样的事情
while(numbers > 0){
iBox.getInteger("EnterNumber");
}
请记住,这是一个无限循环,因为数字永远不会改变
PS:找一本好的编程书/教程正确地缩进你的程序,你应该能发现错误。你再也不会将
数字
设置为任何东西了。数字
不会在while循环中更新。另外:请注意,在java中,有一个很强的惯例,类名以大写字母开头,因此,将类重命名为Loop是一个好主意,例如(另外,if(numbers>0)
是冗余的;如果输入了循环体,则大于零)。发现一个拼写错误会让你得到四张选票。那就五点吧
while(numbers > 0){
iBox.getInteger("EnterNumber");
}