、输入学生姓名,Java成绩,按分数从高到低排序后存储在文件score.txt中。利用java的io操作实现,给出具体代码
时间: 2023-11-22 14:53:20 浏览: 137
以下是实现输入学生姓名和Java成绩,按照分数从高到低排序后存储在文件score.txt中的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 结束:");
String input = scanner.nextLine();
while (!input.equals("exit")) {
String[] info = input.split(" ");
String name = info[0];
int score = Integer.parseInt(info[1]);
Student student = new Student(name, score);
students.add(student);
input = scanner.nextLine();
}
// 按成绩从高到低排序
Collections.sort(students);
// 将学生信息写入文件
try (FileWriter writer = new FileWriter("score.txt")) {
for (Student student : students) {
writer.write(student.toString() + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("学生信息已保存到 score.txt 文件中。");
}
}
class Student implements Comparable<Student> {
private String name;
private 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;
}
}
```
运行代码后,按照提示输入学生信息,例如:
```
请输入学生信息(学生姓名 Java成绩),输入 exit 结束:
Tom 80
Jerry 90
Bob 70
exit
```
程序会将学生信息按照成绩从高到低排序,并存储在文件score.txt中,例如:
```
Jerry 90
Tom 80
Bob 70
```
可以通过文件读取操作获取文件中的学生信息。
阅读全文