Java 实验七 文件输入和输出

选择题

在这里插入图片描述

程序片段编程题

1. 从文件中读取成绩,按照要求处理后,并输出到指定文件中
【问题描述】
现有如下格式的成绩单(文本格式)score.txt。
name:zhangsan,shuxue 72,wuli 67,yingyu 70
name:lisi,shuxue 92,wuli 98,yingyu 88
name:wangwu,shuxue 68,wuli 80,yingyu 77
要求按行读取成绩单。并在该行的后面加上该同学的总成绩。然后将该行写入到一个名字为scoreAnalysis.txt的文件中。

【score.txt输入形式】
name:zhangsan,shuxue 72,wuli 67,yingyu 70
name:lisi,shuxue 92,wuli 98,yingyu 88
name:wangwu,shuxue 68,wuli 80,yingyu 77

【scoreAnalysis.txt输出形式】
name:zhangsan,shuxue 72,wuli 67,yingyu 70 zongFen:209.0
name:lisi,shuxue 92,wuli 98,yingyu 88 zongFen:278.0
name:wangwu,shuxue 68,wuli 80,yingyu 77 zongFen:225.0

import java.io.*;
//import java.util.*;

class Fenxi 
{
	BufferedReader reader = null;
    String[] name = new String[3];
    String[] shuxue = new String[3];
    String[] wuli = new String[3];
    String[] yingyu = new String[3];
    String[] zongfen = new String[3];

    public Fenxi() 
    {
        try 
        {
            FileReader fileReader = new FileReader("d://score.txt");
            reader = new BufferedReader(fileReader);
            int i = 0;
            String line;
            String[] data;
            for (; i < 3; i++) 
            {
                line = reader.readLine();
                data = line.split(",");
                name[i] = data[0].split(":")[1];
                shuxue[i] = data[1].split(" ")[1];
                wuli[i] = data[2].split(" ")[1];
                yingyu[i] = data[3].split(" ")[1];
                zongfen[i] = String.valueOf(Integer.parseInt(shuxue[i]) + Integer.parseInt(wuli[i]) + Integer.parseInt(yingyu[i]));
            }
            fileReader.close();
            reader.close();

        } 
        catch (IOException e) 
        {
            e.printStackTrace();
        }
    }
}

public class AnalysisResult  
{
    public static void main(String[] args)  
    {
    	Fenxi fenxi = new Fenxi();
    	try 
    	{
    		FileWriter fileWriter = new FileWriter("d://scoreAnalysis.txt");
    		BufferedWriter out = new BufferedWriter(fileWriter);
    		for (int i = 0; i < 3; i++) 
    		{
            String str = "name:"+fenxi.name[i]+",shuxue "+fenxi.shuxue[i]+",wuli "+fenxi.wuli[i]+",yingyu "+fenxi.yingyu[i]+" zongFen:"+fenxi.zongfen[i]+".0";
            out.write(str);
            out.flush();
            out.newLine();
            }
    		out.close();
    		fileWriter.close();
        } 
    	catch (IOException e) 
    	{
    		e.printStackTrace();
        }
    }
}

  • 19
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值