java输入学生姓名,Java成绩,按分数从高到低排序后存储在文件score.txt中。
时间: 2023-11-27 10:49:43 浏览: 74
java课堂作业:用二维数组存储五个学生姓名学号,并用正则表达式判断输入数据是否有误。输出按学号排序的学生。
5星 · 资源好评率100%
下面是一份Java代码示例,可以实现你所需要的功能:
```java
import java.io.*;
import java.util.*;
public class ScoreSorter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Student> students = new ArrayList<>();
System.out.println("请输入学生姓名和Java成绩,以空格分隔,输入exit结束输入:");
while (scanner.hasNext()) {
String name = scanner.next();
if ("exit".equals(name)) {
break;
}
int score = scanner.nextInt();
students.add(new Student(name, score));
}
Collections.sort(students);
try (PrintWriter writer = new PrintWriter(new FileWriter("score.txt"))) {
for (Student student : students) {
writer.println(student);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private static class Student implements Comparable<Student> {
private final String name;
private final int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
@Override
public int compareTo(Student o) {
return o.score - this.score;
}
@Override
public String toString() {
return name + " " + score;
}
}
}
```
这段代码通过Scanner从标准输入读取学生姓名和Java成绩,然后将它们存储在一个Student类的实例中,并将这些实例存储在一个List中。然后,使用Collections.sort方法按照学生的Java成绩从高到低对这个List进行排序。最后,将排好序的学生信息写入score.txt文件中。
阅读全文