这是一个Java示例,该示例使用了`Comparator`接口来根据学生的平均分数进行排序。假设我们有一个`Student`类,该类具有`name`和`scores`两个属性。
```java
import java.util.*;
class Student {
String name;
int[] scores;
Student(String name, int[] scores) {
this.name = name;
this.scores = scores;
}
double getAverageScore() {
int sum = 0;
for (int score : scores) {
sum += score;
}
return (double) sum / scores.length;
}
java零基础该怎么学}
class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("张三", new int[]{80, 90, 70}));
students.add(new Student("李四", new int[]{85, 80, 90}));
students.add(new Student("王五", new int[]{70, 75, 80}));
Collections.sort(students, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
double avg1 = s1.getAverageScore();
double avg2 = s2.getAverageScore();
if (avg1 > avg2) {
return -1;
} else if (avg1 < avg2) {
return 1;
} else {
return 0;
}
}
});
for (Student student : students) {
System.out.println("姓名: " + student.name + ", 平均分: " + AverageScore());
}
}
}
```
这个程序首先创建了一个包含三个学生的列表。然后,它使用`Collections.sort()`方法和自定义的`Comparator`来根据每个学生的平均分数对列表进行排序。最后,它遍历并打印已排序的学生列表,显示每个学生的姓名和平均分数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论