文件输入并统计数据

AJavacodesnippetdemonstrateshowtoreadthree-columnstudentdatafrom1.txt,calculateandoutputtheaveragescorespersubjectwithonedecimalplace.
摘要由CSDN通过智能技术生成

【问题描述】当前路径下有“1.txt"文件,文件中包含三列数据,分别表示一个班的学生的语文,数学,英语成绩(一行数据表示一个学生的信息,个数据之间用逗号隔开),编写程序求解该班学生三门课程的平均成绩.。结果保留一位小数。
【输入形式】文件输入
【输出形式】输出三科平均成绩,各科平均成绩之间用逗号隔开
【样例输入】

12,34,45

23,45,56

23,45,12

34,56,34
【样例输出】

23.0,45.0,36.8

参考示例代码:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class text9 {
	 public static void main(String[] args) throws IOException {
	     BufferedReader ifile = new BufferedReader(new FileReader("1.txt"));
		 ArrayList<Double> yw = new ArrayList<Double>();
		 ArrayList<Double> sx = new ArrayList<Double>();
		 ArrayList<Double> yy = new ArrayList<Double>();
	     Scanner sc = new Scanner(System.in);
	     String s;
	     while((s=ifile.readLine())!=null) {
	    	 String[] score = s.split(",");
	    	 yw.add(Double.parseDouble(score[0]));
	    	 sx.add(Double.parseDouble(score[1]));
	    	 yy.add(Double.parseDouble(score[2]));
	     } 
	     double sum1=0,sum2=0,sum3=0;
	     for(Double a:yw) sum1+=a;
	     for(Double b:sx) sum2+=b;
	     for(Double c:yy) sum3+=c;
	     System.out.printf("%.1f,%.1f,%.1f",sum1/yw.size(),sum2/sx.size(),sum3/yy.size());
	     ifile.close();
	     sc.close();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值