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

标签 sorting java

我正在辅导一名高中生,她有一项计算机科学作业,我不知道如何帮助她完成。

她应该“编写一个方法,接受一组学生并返回 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/

相关文章:

c++ - vector 排序 : swap overload

python - 使用 operator.itemgetter() 作为排序键时,有没有办法转换值?

java - 如何在 Spring 中管理 java servlet(或 DI)?

java - 如何验证 Java 卡上是否已安装小程序

java - JNI如何管理C++代码中的静态变量?

java - 如何获得HashMap中的3个最高值?

python - 使用归并排序在 O(n log n) 时间内对链表进行排序

algorithm - 最好的预留座位排序算法是什么?

java - 使用 writeDouble 会产生无意义的结果

java - 使用 spring 表单在 spring mvc 中上传文件不起作用