Я работаю над этим часами, поэтому надеюсь, что кто-то может мне помочь. Я должен создать arraylist студентов и сделать следующие команды. добавлять, находить и удалять учащихся. В любом случае, мои функции add, find работают нормально, но когда я пытаюсь удалить студентов, это приводит к неправильному ученику! Я не знаю, что делать, как будто я все пробовал.ArrayList и методы для java
public void addStudent(String studentName, long studentID, String address) {
Student newStudent = new Student (studentName, studentID, address);
collegeList.add(newStudent);
}
public static void deleteStudent() {
Scanner input=new Scanner(System.in);
System.out.print("Enter student ID");
long studentNumber=input.nextLong();
if(directory.isValidID(studentNumber) && directory. withinRange(studentNumber)) {
System.out.print("Deleting Student");
System.out.print(directory.findStudent(studentNumber));
System.out.print("please confirm with y/n");
Scanner myans=new Scanner(System.in);
String confirmation=myans.next();
if (confirmation.equals("y")) {
directory.deleteStudent(studentNumber);
System.out.print("student deleted");
}
if(confirmation.equals("n")) {
System.exit(0);
}
}
}
/**
Searches for student based upon their student number
@param studentID unique student number for each student
@return students entire information
*/
public String findStudent(long studentID) {
String str;
Student newStu;
for (int i=0; i<collegeList.size(); i++) {
newStu=collegeList.get(i);
if(newStu.getStudentID()==studentID);
return newStu.toString();
}
return null;
}
/**
Removing student from collegeList
@param studentID unique student number
@return none
*/
public void deleteStudent (long studentID) {
Student newStu;
for (int i=0; i<collegeList.size(); i++) {
newStu=collegeList.get(i);
if (newStu.getStudentID()==studentID)
collegeList.remove(i);
}
}
Использовать итератор вместо 'List # remove'. –
Метод findstudent на самом деле неверен, он не находит подходящих учеников ... – user2809437
Теперь, когда вы упомянули об этом, почему вы возвращаете 'String' в метод' find' вместо объекта 'Student'? –