我正在辅导一名高中生,她有一项计算机科学作业,我不知道如何帮助她完成。
她应该“编写一个方法,接受一组学生并返回 GPA 最高的学生。”
给定的代码状态
public class Student {
private String myName;
private double my GPA;
public Student (String n, double gpa) {
myName = n;
myGPA = gpa;
}
public String getName() {
return myName;
}
public double getGPA() {
return myGPA;
}
/* other methods not shown */
}
我们知道他们在问什么,但我们不知道到底该怎么做。我们说他们要求我们对人员及其 GPA 进行排序,然后只返回 GPA 最高的学生。我们应该先排序,然后提取吗?还有什么事情吗?
最佳答案
一种方法是让 Student 实现 Comparable:
public class Student implements Comparable<Student>{
...
int compareTo(Student s){
return Double.valueOf(myGPA).compareTo(s.getGPA())
}
...
}
然后使用:
Collections.sort(studentlist);
studentlist.get(0);
编辑:调整了代码以使用原始 double ,感谢@ThanksForAllTheFish评论
关于sorting - 帮助使用 Java 代码对 GPA 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28873894/