8. 编写一个程序,定义一个Student类,包含属性name和score。然后从标准输入中读入n个学生的姓名和成绩,创建n个Student对象并将它们存储在一个数组中。然后按照成绩从高到低的顺序排序数组,并将排序后的数组输出。
时间: 2024-03-12 16:48:35 浏览: 83
好的,以下是使用Java语言实现的代码:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Student implements Comparable<Student> {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
@Override
public int compareTo(Student s) {
return s.score - this.score;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生人数:");
int n = scanner.nextInt();
Student[] students = new Student[n];
for (int i = 0; i < n; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的姓名和成绩:");
String name = scanner.next();
int score = scanner.nextInt();
students[i] = new Student(name, score);
}
Arrays.sort(students);
System.out.println("按成绩从高到低排序后的结果为:");
for (Student student : students) {
System.out.println(student.getName() + " " + student.getScore());
}
scanner.close();
}
}
```
程序的思路是先定义一个Student类,包含姓名和成绩两个属性,以及一个按成绩从高到低排序的方法compareTo()。然后从标准输入中读入n个学生的姓名和成绩,创建n个Student对象并将它们存储在一个数组中。最后对数组进行排序,排序规则是按照成绩从高到低的顺序,并将排序后的数组输出。
阅读全文