ищет ученика со вторым по величине значением. Если он дублируется с другим учеником, функция возвращает младшего.
Другое требование этой задачи (которое необходимо правильно решить) заключается в том, что я не могу создать какой-либо объект. Вот код класса, с которым я работаю:
Код: Выделить всё
import java.time.LocalDate;
import java.util.Comparator;
import java.util.List;
public class Student implements Comparator{
private String firstName;
private String lastName;
private LocalDate dateOfBirth;
private double averageMark;
public double getAverageMark() {
return averageMark;
}
//function below must find student that I described upper. Currently
//function is incomplete because I still try to find correct solution
public static Student findSecondBestStudent(List students) {
return students.stream().sorted(Comparator.reverseOrder());
}
@Override
public int compare(Student o1, Student o2) {
return (int) (o1.getAverageMark() - o2.getAverageMark());
}
}
Я могу решить эту проблему с помощью цикла for, но это решение не соответствует условию задачи (требуется создать объект)
Подробнее здесь: https://stackoverflow.com/questions/675 ... test-value