Программа полностью сортирует 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));
}
}
}