java文件输出多组数据的平均值

问题描述

当前路径下有”1.txt”文件,文件中包含三列数据,分别表示一个班的学生的语文,数学,英语成绩(一行数据表示一个学生的信息,个数据之间用逗号隔开),

编写程序求解该班学生三门课程的平均成绩。结果保留一位小数。

输入形式

文件输入

输出形式

输出三科平均成绩,各科平均成绩之间用逗号隔开

样例输入

12,34,45
23,45,56
23,45,12
34,56,34

样例输出

23.0,45.0,36.8

案例代码

要解决这个问题,您可以使用 Java 读取文件中的数据,并计算每门课程的平均成绩。下面是一个简单的 Java 程序示例,用于实现您描述的功能:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        String fileName = "1.txt"; // 文件名
        double sumChinese = 0;
        double sumMath = 0;
        double sumEnglish = 0;
        int count = 0;

        try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = br.readLine()) != null) {
                String[] data = line.split(",");
                if (data.length == 3) {
                    sumChinese += Double.parseDouble(data[0]);
                    sumMath += Double.parseDouble(data[1]);
                    sumEnglish += Double.parseDouble(data[2]);
                    count++;
                } else {
                    System.out.println("数据格式错误: " + line);
                }
            }
            if (count > 0) {
                double avgChinese = sumChinese / count;
                double avgMath = sumMath / count;
                double avgEnglish = sumEnglish / count;
                System.out.printf("%.1f,%.1f,%.1f\n", avgChinese, avgMath, avgEnglish);
            } else {
                System.out.println("文件中没有有效数据");
            }
        } catch (IOException e) {
            System.err.println("读取文件时出现错误: " + e.getMessage());
        }
    }
}

在这个程序中,我们首先定义了一个文件名 1.txt,然后使用 BufferedReader 逐行读取文件内容。对于每一行数据,我们使用 split 方法将其分割成语文、数学和英语成绩,然后累加总成绩并统计有效数据的数量。最后,我们计算平均成绩并输出结果。

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享