java编写一个程序,定义一个Student类,包含属性name和score。然后从标准输入中读入n个学生的姓名和成绩,创建n个Student对象并将它们存储在一个数组中。然后按照成绩从高到低的顺序排序数组,并将排序后的数组输出
时间: 2024-03-21 21:42:34 浏览: 24
好的,这是一个Java程序,实现了你的需求:
```java
import java.util.*;
class Student implements Comparable<Student> {
String name;
int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public int compareTo(Student other) {
return other.score - this.score;
}
public String toString() {
return name + " " + score;
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Student[] students = new Student[n];
for (int i = 0; i < n; i++) {
String name = scanner.next();
int score = scanner.nextInt();
students[i] = new Student(name, score);
}
Arrays.sort(students);
for (Student student : students) {
System.out.println(student);
}
}
}
```
这个程序定义了一个`Student`类,包含了`name`和`score`两个属性,同时实现了`Comparable`接口,用于排序。主函数中,先从标准输入中读入n个学生的信息,并创建n个`Student`对象并存储在一个数组中。然后使用`Arrays.sort`方法对数组进行排序,最后输出排序后的数组。