java2.对一个运动会成绩原始文件“results.txt”,对运动员的竞赛成绩进行排名,将结果按格式保存到输出文件“out.txt”,成绩保留3位小数。
时间: 2024-02-12 22:08:19 浏览: 106
好的,这是一个简单的数据处理任务,我可以为您提供一个 Java 代码示例来完成这个任务。
首先,我们需要读取原始文件“results.txt”,并将其转换为一个列表,每个元素代表一个运动员的成绩。然后,我们可以使用 Java 内置的`Arrays.sort()`方法对成绩进行排序,并根据排名将结果保存到输出文件“out.txt”中。
以下是完整的 Java 代码示例:
```java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;
public class RankScores {
public static void main(String[] args) {
try {
// 打开原始文件,读取成绩数据
Scanner scanner = new Scanner(new File("results.txt"));
double[] scores = new double[100];
int i = 0;
while (scanner.hasNextDouble()) {
scores[i++] = scanner.nextDouble();
}
// 对成绩进行排序
Arrays.sort(scores);
double[] sortedScores = new double[i];
for (int j = 0; j < i; j++) {
sortedScores[j] = scores[i - j - 1];
}
// 将排序后的成绩和排名写入输出文件
FileWriter writer = new FileWriter("out.txt");
for (int j = 0; j < i; j++) {
int rank = j + 1;
writer.write(String.format("第%d名: %.3f\n", rank, sortedScores[j]));
}
writer.close();
System.out.println("排名完成,结果已保存到out.txt文件中。");
} catch (IOException e) {
System.out.println("读写文件出错:" + e.getMessage());
}
}
}
```
您可以将此代码保存为一个 Java 文件,例如“RankScores.java”,并将“results.txt”文件放在同一目录下。然后,编译并运行此代码,它将生成一个新文件“out.txt”,其中包含按排名排序的运动员成绩。