【发布时间】:2012-09-15 03:13:56
【问题描述】:
整个程序按整数最高平均值、姓氏对ArrayList 中的Student 对象进行排序,并且还可以选择执行搜索。我的程序运行完美,除了我的二进制搜索,我绝对无法确定失败的原因。我已经打印了所有出现的信息。
这里是学生类,其方法引用学生的名字和姓氏 (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));
}
}
}
【问题讨论】:
标签: string collections arraylist binary-search