用Java 实现班主任的电脑不幸中了病毒,学生成绩文件中出现了一堆乱码,但是班主任仔细查看了文件后发现,之前录入的成绩混杂在乱码中,请编写程序将这些成绩找出来,并按大小顺序输出。
时间: 2024-06-09 13:05:08 浏览: 78
Java文件压缩
假设学生成绩文件名为“scores.txt”,以下是Java程序的实现:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
public class ScoreSorter {
public static void main(String[] args) {
String fileName = "scores.txt"; // 学生成绩文件名
ArrayList<Integer> scores = new ArrayList<Integer>(); // 用于存储成绩的ArrayList
try {
BufferedReader br = new BufferedReader(new FileReader(fileName)); // 读取文件
String line;
while ((line = br.readLine()) != null) {
for (int i = 0; i < line.length(); i++) {
char c = line.charAt(i);
if (c >= '0' && c <= '9') { // 如果字符是数字,则将其转换为整数并添加到ArrayList中
int score = Integer.parseInt(String.valueOf(c));
scores.add(score);
}
}
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
Collections.sort(scores); // 对成绩进行排序
for (int i = 0; i < scores.size(); i++) {
System.out.println("第" + (i + 1) + "名成绩:" + scores.get(i)); // 输出排序后的成绩
}
}
}
```
该程序首先声明了学生成绩文件名和用于存储成绩的ArrayList。然后,通过读取文件的方式,将学生成绩中的数字提取出来并添加到ArrayList中。最后,利用Java自带的Collections类的sort方法对成绩进行排序,并按照大小顺序输出。
阅读全文