Java中数组输出姓名和成绩并按高到低排序
时间: 2024-09-27 08:08:09 浏览: 30
在Java中,你可以创建一个包含姓名和成绩的对象数组,然后使用`Comparator`接口对数组元素进行排序。首先,你需要定义一个名为`Student`的类,它包含姓名`name`和成绩`score`两个属性。然后,你可以按照以下步骤操作:
1. 定义`Student`类:
```java
public class Student {
String name;
double score;
public Student(String name, double score) {
this.name = name;
this.score = score;
}
// 为了让名字也能参与比较,可以提供一个toString方法
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", score=" + score +
'}';
}
}
```
2. 创建数组并填充数据:
```java
Student[] students = new Student[5];
students[0] = new Student("张三", 85);
students[1] = new Student("李四", 92);
// 其他学生...
```
3. 使用`Arrays.sort()`方法并自定义比较器进行排序:
```java
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Arrays.sort(students, Comparator.comparing(Student::getScore).reversed());
for (Student student : students) {
System.out.println(student);
}
}
}
```
在这个例子中,我们通过`Comparator.comparing(Student::getScore)`获取每个学生的分数,并使用`.reversed()`使得排序结果从高分到低分。
阅读全文