Java-建立一个AnalysisResult类,对成绩进行分析
import java.io.*; import java.util.*; public class AnalysisResult { public static void main(String[] args) { File fRead= new File("C:\\Users\\17665\\Desktop\\score.txt");//txt的位置为文件的位置 File fWrite= new File("socreAnalysis.txt"); try { Writer out = new FileWriter(fWrite, true); BufferedWriter bufferWrite =new BufferedWriter(out); Reader in =new FileReader(fRead); BufferedReader bufferRead =new BufferedReader(in); String str =null; while((str=bufferRead.readLine())!=null) { double totalScore=Fenxi.getTotalScore(str); str =str+"总分:"+totalScore; System.out.println(str); bufferWrite.write(str); bufferWrite.newLine(); double A=totalScore/3; System.out.println("平均分"+A); } bufferRead.close(); bufferWrite.close(); } catch(IOException e) { System.out.println(e.toString()); } } }
import java.util.*; public class Fenxi { public static double getTotalScore(String s) { Scanner scanner = new Scanner(s); scanner.useDelimiter("[^0123456789.]+"); double totalScore=0; while(scanner.hasNext()) { try {double score =scanner.nextDouble(); totalScore =totalScore+score; } catch(InputMismatchException exp) { String t =scanner.next(); } } return totalScore; } }
score.txt
姓名:张三,数学72分,物理67分,英语70分.
姓名:李四,数学92分, 物理98分,英语88分.
姓名:周五,数学68分,物理80分,英语77分.