我不知道是什么导致我的for循环终止。我只是尝试测试它,它仅运行打印功能。然后它终止。我不明白为什么会这么做。
import java.util.Scanner;
import java.util.ArrayList;
public class Test092 {
public static void main(String[] args) {
Scanner usersVal = new Scanner(System.in);
ArrayList<Integer> arrayList = new ArrayList<>();
int valAdd = 0;
System.out.println("Please provide a list of numbers");
for (int i = 0; i < arrayList.size(); i++) {
valAdd = Integer.valueOf(usersVal.nextInt());
if (valAdd == -1) {
break;
}else {
arrayList.add(valAdd);
}
}
}
}
问题是您的arrayList中没有任何元素。因此,当您的循环检查i < arrayList.size()
时,循环将不会运行(因为arrayList.size()
为0)
尝试一下:
public static void main(String [] args) {
try (Scanner usersVal = new Scanner(System.in)) {
List<Integer> arrayList = new ArrayList<>();
System.out.println("Please provide a list of numbers");
int valAdd = usersVal.nextInt();
while (valAdd != -1) {
arrayList.add(valAdd);
valAdd = usersVal.nextInt();
}
System.out.println(arrayList);
} catch (Exception e) {
e.printStackTrace();
}
}