1
該程序完整地對Student
對象的ArrayList
進行排序,整數最高的是平均值,姓氏,並且還可以選擇執行搜索。我的程序工作完美,除了我的二進制搜索,我絕對不能確定失敗的原因。隨着它的出現,我已經打印了所有的信息。檢索字符串的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 2012-03-17 17:04:24
當然,很樂意幫忙! – 2012-03-17 17:05:47