帮助使用 Java 代码对 GPA 进行排序

Help with Java code for sorting GPA

我正在辅导一名高中生,她有一个 CS 作业,我不知道如何帮助她。

她应该"编写一种方法,该方法将接收一系列学生并返回 GPA 最高的学生。"

给定的代码状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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:

1
2
3
4
5
6
7
public class Student implements Comparable<Student>{
...
    int compareTo(Student s){
         return Double.valueOf(myGPA).compareTo(s.getGPA())
    }
...
}

然后使用:

1
2
Collections.sort(studentlist);
studentlist.get(0);

编辑:调整代码以使用原始双打,感谢@ThanksForAllTheFish 评论