나는 몇 시간 동안이 작업을 해왔으므로 누군가 나를 도울 수 있기를 바랍니다. 나는 학생들의 arraylist를 만들고 다음과 같은 명령을 내려야 만한다. 추가, 찾기 및 삭제. 어쨌든 내 추가, 찾기 기능을 작동하지만 괜찮을 때 학생을 삭제하려고하면 잘못된 학생이 나타납니다! 나는 무엇을 해야할지를 모른다. 나는 모든 것을 시도한 것처럼 느낀다.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
이제 'Student'객체 대신'find' 메소드에서'String'을 반환하는 이유는 무엇입니까? –