【发布时间】:2018-07-10 00:50:40
【问题描述】:
我正在就我的程序的一部分寻求帮助。我想知道如何在删除或保留 ArrayList 中的“学生”之前遍历整个“学生”ArrayList。 updateStatus 方法参数是一个 int 并返回一个布尔值:如果学生有毕业所需的学分,则返回 true,如果没有足够的学分,则返回 false。如果您希望我发布我的 updateStatus 代码(我知道它可以 100% 准确地工作),我可以这样做。
这是我遇到问题的 for 循环:
ArrayList<Student> students = new ArrayList<Student>();
int [] updates = {4, 7, 8, 6, 15, 10, 30, 31, 5, 7, 127, 21}; //this is the array of values being input to updateStatus
for (int i = 0; i < students.size(); i++){
for(Student x: students){
if(x.updateStatus(updates[i])){
System.out.println(students.remove(i)+"\nCongratulations Graduate!");
}
}
}
非常感谢您!
【问题讨论】:
-
当您浏览列表时,使用另一个列表添加您要删除的学生。您可以将列表拆分为两个列表(保留/删除),或者直接从原始列表中删除“要删除”的项目
-
你的双循环是故意的吗?您真的要为每个学生调用 12 次 updateStatus,将相同的 12 个数据项集传递给每个学生吗?
-
updates和updateStatus之间的关系尚不清楚。请详细说明您要做什么。
标签: java arrays for-loop arraylist foreach