java IO流 练习题 分析成绩单

Posted Code健行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java IO流 练习题 分析成绩单相关的知识,希望对你有一定的参考价值。

java IO流 练习题

题目要求:

分析成绩单。

现在有如下格式的成绩单(文本格式)score.txt:

姓名:张三,数学72分,物理67分,英语70分.

姓名:李四,数学92分,物理98分,英语88分.

姓名:周五,数学68分,物理80分,英语77分.

要求按行读入取成绩单,并在该行的后面尾加上该同学的总成绩,然后再将该行写入到一个名字为socreAnalysis.txt的文件中

代码实现:

这段代码是将一个字符串中的数字提取出来,并相加

package IO;

import java.util.Scanner;

public class Deal 
    public int allScore(String str)
        Scanner scanner = new Scanner(str);
        scanner.useDelimiter("[^0123456789.]+");
        int total = 0;
        while (scanner.hasNext())
            try 
                int i = scanner.nextInt();
                System.out.println(i);
                total = total + i;
            catch(Exception e)
                scanner.next();
            
        
        return total;
    


package IO;

import java.io.*;

public class Test 

    public static void main(String[] args) 
        FileReader fileReader=null;
        FileWriter fileWriter=null;
        BufferedReader bufferedReader=null;
        BufferedWriter bufferedWriter=null;
        try 
             fileReader = new FileReader("D:\\\\Socre.txt");
             fileWriter= new FileWriter("E:\\\\SocreAnalysis.txt");
             bufferedReader = new BufferedReader(fileReader);
             bufferedWriter = new BufferedWriter(fileWriter);

            String b;
            while ((b=bufferedReader.readLine())!=null)
                System.out.println(b);

                Deal deal = new Deal();
                int i = deal.allScore(b);

                bufferedWriter.write(b+"总成绩"+i);
                bufferedWriter.newLine();
            

         catch (FileNotFoundException e) 
            e.printStackTrace();
         catch (IOException e) 
            e.printStackTrace();
        finally 
            try 
                fileReader.close();
                bufferedWriter.flush();
                fileWriter.close();
                bufferedReader.close();
                bufferedWriter.close();
             catch (IOException e) 
                e.printStackTrace();
            

        


    



以上是关于java IO流 练习题 分析成绩单的主要内容,如果未能解决你的问题,请参考以下文章

Java基础练习题5--[给定一段字符串,将里面的信息进行提取,(注意:需要考虑信息是可变的)String s=“张三:上机成绩=90,笔试成绩=78“+“李四:上机成绩=68,笔试成绩......]

集合与IO流结合的练习

Java课程设计—学生成绩分析系统

IO流的练习4 —— 键盘录入学生成绩信息,进行排序后存入文本中

Java集合/数组排序知识与IO流结合实例

深耕MySQL - 50道SQL练习题