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,笔试成绩......]