프로그램 전체가 ArrayList
인 Student
의 개체를 가장 높은 평균 성으로 정렬하고 검색을 수행 할 수있는 옵션도 있습니다. 내 프로그램은 오류의 원인을 절대 결정할 수없는 바이너리 검색을 제외하고는 완벽하게 작동합니다. 내가 올 때 모든 정보를 인쇄했습니다.문자열을 검색하는 ArrayList 개체 메서드의 이진 검색은 문자열이 동일한 지 식별하지 않습니다.
다음은 학생의 성과 이름 (String
)을 참조하는 학생 클래스입니다.
public String getFirstName(){
return firstname;
}
public String getLastName(){
return lastname;
}
또한 이진 검색을위한 코드는 다음과 같습니다. 예, 알고 싶습니다. Collections
에는이 목적을위한 메소드가 있지만, 제 클래스에는 검색을 직접 작성해야합니다.
private static void searchStudent(ArrayList<Student> a){
Scanner reader = new Scanner(System.in);
System.out.print("Please enter search term: ");
String term = reader.next();
//System.out.println(term + " " + term.length());
System.out.println("---SEARCH RESULTS:---");
for (int i = 0; i < a.size(); i++){
String fName = (a.get(i).getFirstName());
String lName = (a.get(i).getLastName());
//System.out.println(fName + " " + fName.length());
//System.out.println(lName + " " + lName.length());
if (term == fName){
System.out.println(a.get(i));
} else if (term == lName){
System.out.println(a.get(i));
}
}
}
아, 훌륭함. 고마워요! – pearbear
물론 도움이 되니 기쁩니다! –