用java把三个成绩的总成绩排序_用java编一个学生成绩排序成绩 有学生的姓名 学号 三门课的成绩 然后对总分排序...
时间: 2024-03-26 10:39:44 浏览: 59
接收从键盘输入某班学生的学号、姓名、成绩,对学 生的成绩进行排序.zip
5星 · 资源好评率100%
好的,这个问题很简单,我们可以通过Java的ArrayList来实现。首先,我们需要创建一个Student类,该类包含姓名、学号和三门课的成绩,并且还需要一个计算总成绩的方法。然后,我们将学生信息添加到ArrayList中,并按照总成绩进行排序。
下面是完整的代码实现:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
class Student {
private String name;
private String id;
private int score1;
private int score2;
private int score3;
private int totalScore;
public Student(String name, String id, int score1, int score2, int score3) {
this.name = name;
this.id = id;
this.score1 = score1;
this.score2 = score2;
this.score3 = score3;
this.totalScore = score1 + score2 + score3;
}
public int getTotalScore() {
return totalScore;
}
public String toString() {
return "姓名:" + name + ",学号:" + id + ",总成绩:" + totalScore;
}
}
public class ScoreSorter {
public void sort(ArrayList<Student> list) {
Collections.sort(list, new Comparator<Student>() {
public int compare(Student s1, Student s2) {
return s2.getTotalScore() - s1.getTotalScore();
}
});
}
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<Student>();
list.add(new Student("张三", "001", 80, 90, 70));
list.add(new Student("李四", "002", 60, 70, 80));
list.add(new Student("王五", "003", 90, 80, 90));
ScoreSorter sorter = new ScoreSorter();
sorter.sort(list);
for (Student student : list) {
System.out.println(student);
}
}
}
```
在这段代码中,我们定义了一个ScoreSorter类,其中包含一个sort方法,用于对学生列表进行排序。我们使用Collections.sort方法和一个比较器来实现排序,比较器根据学生的总成绩进行比较。在main方法中,我们创建了一个学生列表,并将其传递给ScoreSorter的sort方法进行排序。最后,我们打印出排序后的学生列表。
运行程序,输出如下:
```
姓名:王五,学号:003,总成绩:260
姓名:张三,学号:001,总成绩:240
姓名:李四,学号:002,总成绩:210
```
可以看到,学生列表已按总成绩排序。
阅读全文