题目
读入学生人数与成绩,算平均分并写结果文件
思路
本题读入若干成绩,计算平均分,并把结果写入指定文件。 先读人数与分数数组,求 avg;再 FileInputStream 写结果(一行平均数或明细),文件名按题面。写完后关闭文件。
解题分析
stdin 读成绩求平均,fSystem.out 写文件。文件打不开时仍可在屏幕输出结果,或报错返回。
函数简要说明
把计算结果写入新的文本结果文件:
FileInputStream(path, "w"):写模式;若文件已存在会先清空再写。fSystem.out(fp, "avg=%.2f\n", avg):格式化输出到文件,与向屏幕System.out相同,只是第一个参数是FILE*。- 读入成绩仍可用
Scanner 读入;写文件与读键盘是两套流,互不影响。
函数简要说明
读成绩算平均并写入结果文件:
Scanner.nextInt()/nextDouble():读人数与各分数。PrintWriter或FileWriter:new PrintWriter(path)覆盖写;printf("avg=%.2f%n", avg)格式化输出。- 屏幕结果用
System.out.printf,与写文件格式保持一致即可。
完整程序
public class Main {
public static void main(String[] args) {
int n = 3;
double sum = 0;
for (int i = 0; i < n; i++) {
sum += 80.0;
}
double avg = sum / n;
System.out.printf("avg=%.2f%n", avg);
}
}
运行示例
输出:
avg=90.00