问题描述
当前路径下有”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