版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/BODOA/article/details/80305704
将数据写入文件,并提取学生成绩。
package student;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.text.NumberFormat;
public class Second {
public void wirte() throws Exception{
InputStreamReader isr = new InputStreamReader(System.in); //数据从哪来?---键盘输入数据
BufferedReader br1 = new BufferedReader(isr);
FileWriter fw1= new FileWriter("E:\\java\\info.txt"); //数据到哪去?---数据写入文件
BufferedWriter bw1 = new BufferedWriter(fw1);
String s1 = null;
while(true) {
System.out.println("请输入姓名");
s1 = br1.readLine(); //读取数据到s1
if(s1.equals(""))
break;
bw1.write(s1); //写入数据
bw1.newLine();
System.out.println("请输入学号");
s1 = br1.readLine(); //读取数据到s1
if(s1.equals(""))
break;
bw1.write(s1); //写入数据
bw1.newLine();
System.out.println("请输入成绩");
s1 = br1.readLine(); //读取数据到s1
if(s1.equals(""))
break;
bw1.write(s1); //写入数据
bw1.newLine();
}
br1.close(); //关闭流
bw1.close();
}
public void read() throws Exception{//从文件中读取成绩 ,输出max,min,agv
//如何往出读
//
FileReader fr2 = new FileReader("E:\\java\\info.txt"); //从文件中读入数据
BufferedReader br2 = new BufferedReader(fr2);
int max =0;
int min = 100;
int sum=0;
int n=0;
int gread = 0;
String sname=null,sno=null,sname1=null,sno1=null,sname2=null,sno2=null;
while(true) {
String s2;
sname = br2.readLine();
if(sname==null)break;
sno = br2.readLine();
s2 = br2.readLine(); //读到成绩
gread = Integer.parseInt(s2); //转化数据为int数值
n++;
sum+=gread;
if(gread>max) {max=(int) gread;sname1=sname;sno1=sno;}
if(gread<min) {min=(int) gread;sname2=sname;sno2=sno;}
}
double ave=sum*1.0/n;
NumberFormat f= NumberFormat.getInstance();
f.setMaximumFractionDigits(2);
System.out.println("平均值:"+f.format(ave));//控制小数位数
System.out.println("最高分: "+max+" 姓名: "+sname1+" 学号: "+sno1);
System.out.println("最小值:"+min+" 姓名: "+sname2+" 学号: "+sno2);
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Second sd = new Second();
sd.wirte();
sd.read();
}
}
//要求:
//1、添加年龄
//2、定义学生信息类,所有信息都定义数组 ---->数据从数组中往文件中写入(不同类型方法写入) 过滤流---data
//3、说有数据从文件中读出(不同类型方法读出),输出到屏幕