上机实验:分析成绩单

来源:互联网 发布:2016最好的网络机顶盒 编辑:程序博客网 时间:2024/05/24 05:23
[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. package first;  
  2.   
  3. import java.io.*;  
  4. import java.util.*;  
  5. public class AnalysisResult {  
  6.   
  7.   
  8.   
  9.     /** 
  10.      * @param args 
  11.      */  
  12.     public static void main(String[] args) {  
  13.         // TODO Auto-generated method stub  
  14.         File fRead=new File("score.txt");  
  15.         File fWrite=new File("scoreAnalysis.txt");  
  16.         try{  
  17.             Writer out=new FileWriter(fWrite,true);  
  18.             BufferedWriter bufferWrite=new BufferedWriter(out);  
  19.             Reader in=new FileReader(fRead);  
  20.             BufferedReader bufferRead=new BufferedReader(in);  
  21.             String str=null;  
  22.             while((str=bufferRead.readLine())!=null){  
  23.                 double totalScore=Fenxi.getTotalScore(str);  
  24.                 str=str+"总分:"+totalScore;  
  25.                 System.out.println(str);  
  26.                 bufferWrite.write(str);  
  27.                 bufferWrite.newLine();  
  28.         }  
  29.             bufferRead.close();  
  30.             bufferWrite.close();  
  31.         }  
  32.         catch(IOException e){  
  33.             System.out.println(e.toString());  
  34.         }  
  35.     }  
  36. }  
  37.   
  38.   
  39.   
  40. import java.util.*;  
  41.   
  42. public class Fenxi {  
  43.   
  44.     public static double getTotalScore(String s) {  
  45.         Scanner scanner=new Scanner(s);  
  46.         scanner.useDelimiter("[^0123456789.]+");  
  47.         double totalScore=0;  
  48.         while(scanner.hasNext()){  
  49.             try{  
  50.                 double score=scanner.nextDouble();  
  51.                 totalScore=totalScore+score;  
  52.             }  
  53.             catch(InputMismatchException exp){  
  54.                 String t=scanner.next();  
  55.             }  
  56.         }  
  57.         return totalScore;  
  58.     }  
  59.   
  60. }  


score.txt

姓名:张三,数学72分,物理67分,英语70分。
姓名:李四,数学92分,物理98分,英语88分。

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


0 0
原创粉丝点击