我试图突破一个循环,我只想继续输入数字直到我输入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;
}
}
}
}
答案 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:获得一本好的编程书/教程