存储在文件aa.txt里的内容为学号id姓名name‘和五门课的成绩,用Scanner读取,计算五门课的总成绩并输出在控制台及文件内,用java编写
时间: 2024-12-13 07:16:27 浏览: 8
在Java中,你可以使用`BufferedReader`配合`Scanner`来读取文件`aa.txt`的内容,并根据每行的数据结构进行处理。假设文件的格式如下:
```
学号id 姓名name 成绩course1 成绩course2 成绩course3 成绩course4 成绩course5
```
下面是一个简单的示例程序,展示了如何完成这个任务:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String fileName = "aa.txt";
double totalScore = 0;
try (BufferedReader br = new BufferedReader(new FileReader(fileName));
FileWriter fw = new FileWriter("output.txt")) {
String line;
while ((line = br.readLine()) != null) {
String[] data = line.split(" "); // 分割每一行数据
int id = Integer.parseInt(data[0]); // 提取学号
String name = data[1]; // 提取姓名
double score1 = Double.parseDouble(data[2]); // 提取一门课成绩,这里假设每门课都是double类型
double score2 = Double.parseDouble(data[3]);
double score3 = Double.parseDouble(data[4]);
double score4 = Double.parseDouble(data[5]);
double score5 = Double.parseDouble(data[6]);
totalScore += (score1 + score2 + score3 + score4 + score5); // 计算总成绩
// 输出到控制台
System.out.println("学号:" + id + ", 姓名:" + name + ", 总分:" + totalScore);
// 写入到新的文件
fw.write("学号:" + id + ", 姓名:" + name + ", 总分:" + totalScore + "\n");
fw.flush();
}
// 结果写入到控制台
System.out.println("学生的平均总分为:" + totalScore / 5);
// 结果写入到新文件
fw.write("学生的平均总分为:" + totalScore / 5 + "\n");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
阅读全文