我的程序不会停止运行,我不确定我做错了什么。在此先感谢您的帮助!
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
ArrayList<NumberOperations> numOpsList = new ArrayList<NumberOperations>();
System.out.println("Enter a list of positive integers separated "
+ "with a space followed by 0:");
int x = in.nextInt();
NumberOperations newNumOp = null;
while (x != 0) {
newNumOp = new NumberOperations(x);
numOpsList.add(newNumOp);
int index = 0;
while (index < numOpsList.size()) {
NumberOperations num = numOpsList.get(index);
System.out.println("For: " + num);
// add print statement for odds under num
System.out.println("\tOdds Under: " + newNumOp.oddsUnder());
// add print statement for powers of 2 under num
System.out.println("\tPowers of 2 under: " + newNumOp.powersTwoUnder());
index++;
}
}
}
答案 0 :(得分:1)
行x = in.nextInt();
必须在while循环中。
...
int x = -1;
...
while (x != 0) {
x = in.nextInt();
....
}
答案 1 :(得分:0)
我认为您应该检查索引而不是x或使用x -
X永远不会被设置为零,这会导致无限循环。
答案 2 :(得分:0)
你有一个永不改变的循环条件x
:
While (x != 0){
// loop code
}
但是,循环代码不会改变x值。
答案 3 :(得分:-1)
您没有在外部WHILE
循环中更新x。