gpt4 book ai didi

java - 如何在学生对象的数组列表中查找 ID

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:40 26 4
gpt4 key购买 nike

public class Student { //student object class containing name and id
String name;
int ID;

public Student(String name, int ID) {
this.name = name;
this.ID = ID;
}
@Override
public String toString() {
return name +" "+ ID;
}
}
//another class with two array lists, an array of students in a class and an array of students waiting for help
ArrayList<Student> inClass = new ArrayList<Student>();
ArrayList<Integer> inLine = new ArrayList<Integer>(); //IDs of students who are waiting for help

public boolean addStudentInLine(Integer id) {
for(int i = 0; i<inClass.size(); i++) {
if (inClass.get(i).ID != id) {
return false;
}
if (inClass.get(i).ID == id) {
inClass.add(id);
}
}
}

对于addStudentInLine方法,如果id存在于inClass arraylist中,我需要将id添加到整数Arraylist inLine中。(只有类(class)中的学生才能收到帮助)如果id不存在于inClass arrayList中,则返回false。我不确定如何遍历 inClass arrayList 以查看 id 是否已存在,因为 inClass arrayList 由学生对象组成。我尝试过 .contain() 方法,但它似乎也不起作用。有人可以帮忙吗?

最佳答案

您应该反转 addStudentInLine 方法中的条件,如果任何 Student id 与 ID 匹配,则将该 ID 添加到 inLine 列表中并返回 true,否则仅返回 `false

public boolean addStudentInLine(Integer id) { 

for(int i = 0; i<inClass.size(); i++) {

if (inClass.get(i).ID.equals(id)) {
inClass.add(id);
return true;
}

}
return false;
}

您还可以使用for-each block

 public boolean addStudentInLine(Integer id) { 

for(Student stu : inClass) {

if (stu.ID.equals(id)) {
inClass.add(id);
return true;
}

}
return false;
}

关于java - 如何在学生对象的数组列表中查找 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60160452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com