java输入学生姓名,Java成绩,按分数从高到低排序后存储在文件score.txt中。
时间: 2023-07-15 08:12:56 浏览: 99
以下是一个实现该功能的 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<>();
// 输入学生信息
while (true) {
System.out.print("请输入学生姓名(输入exit结束):");
String name = scanner.nextLine();
if (name.equals("exit")) {
break;
}
System.out.print("请输入Java成绩:");
int score = Integer.parseInt(scanner.nextLine());
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.name + "," + student.score);
}
System.out.println("已保存到文件score.txt");
} catch (IOException e) {
System.out.println("保存文件失败:" + e.getMessage());
}
}
}
class Student implements Comparable<Student> {
String name;
int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
@Override
public int compareTo(Student other) {
return Integer.compare(other.score, this.score); // 注意这里是从高到低排序
}
}
程序会先让用户输入学生信息(姓名和Java成绩),然后按成绩从高到低排序,最后将结果存储到文件score.txt中。其中,Student类实现了Comparable接口,以便能够使用Collections.sort()方法进行排序。
相关推荐















