练习使用FileReader和FileWriter,从文件读出学生成绩,并将平均成绩写回文件。
package homework;
import java.util.*;
import java.io.*;
import java.util.regex.*;
public class Main {
public static void main(String args[])throws IOException {
Scanner input=new Scanner(System.in);
FileReader frd=new FileReader("file1.txt");
FileWriter frt=new FileWriter("file1.txt");
BufferedReader BR=new BufferedReader(frd);
BufferedWriter BW=new BufferedWriter(frt);
for(int i=0;i<4;i++){
System.out.println("输入姓名:");
String name=input.next();
frt.write(name+"同学的成绩为:");
frt.flush();
System.out.println("请输入"+name+"的成绩:");
String s= input.next();
frt.write(s);
frt.flush();
BW.write("\r\n");
BW.flush();
}
String line=null;
int total=0;
while((line=BR.readLine())!=null) {
String regEx = "[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(line);
String result = m.replaceAll("").trim();
total+=Integer.valueOf(result);
}
BW.write("average grade is:"+total/4.0);
System.out.println("average grade is:"+total/4.0);
BW.close();
BR.close();
frt.close();
frd.close();
}
}