题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

 import java.io.*;
public class Prog50{
//定义学生模型
String[] number = new String[5];
String[] name = new String[5];
float[][] grade = new float[5][3];
float[] sum = new float[5];
public static void main(String[] args) throws Exception{
Prog50 stud = new Prog50();
stud.input();
stud.output();
}
//输入学号、姓名、成绩
void input() throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//录入状态标识
boolean isRecord = true;
while(isRecord){
try{
for(int i=0;i<5;i++){
System.out.print("请输入学号:");
number[i] = br.readLine();
System.out.print("请输入姓名:");
name[i] = br.readLine();
for(int j=0;j<3;j++){
System.out.print("请输入第"+(j+1)+"门课成绩:");
grade[i][j] = Integer.parseInt(br.readLine());
}
System.out.println();
sum[i] = grade[i][0]+grade[i][1]+grade[i][2];
}
isRecord = false;
}catch(NumberFormatException e){
System.out.println("请输入一个数字!");
}
}
}
//输出文件
void output() throws IOException{
FileWriter fw = new FileWriter("D:\\JavaEE\\Code\\Java基础50道经典练习题\\src//stud.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write("No. "+"Name "+"grade1 "+"grade2 "+"grade3 "+"average");
bw.newLine();
for(int i=0;i<5;i++){
bw.write(number[i]);
bw.write(" "+name[i]);
for(int j=0;j<3;j++)
bw.write(" "+grade[i][j]);
bw.write(" "+(sum[i]/5));
bw.newLine();
}
bw.close();
}
}
/*运行结果
在D:\JavaEE\Code\Java基础50道经典练习题\src路径下的stud.txt文件中录入了如下数据
No. Name grade1 grade2 grade3 average
1 张三 10.0 20.0 30.0 12.0
2 李四 20.0 30.0 40.0 18.0
3 王五 30.0 40.0 50.0 24.0
4 赵六 40.0 50.0 60.0 30.0
5 周七 50.0 60.0 70.0 36.0
*/

Java50道经典习题-程序50 文件IO的更多相关文章

  1. Java50道经典习题-程序47 输入数字打印星号

    题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*. import java.util.Scanner; public class Prog47{ public static ...

  2. Java50道经典习题-程序18 乒乓球赛

    题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单. a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单.分析: ...

  3. Java50道经典习题-程序1 不死神兔

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 分析:假如:1月1日有1对兔子,根据题目“从出生后 ...

  4. Java50道经典习题-程序46 字符串连接

    题目:编写一个两个字符串连接的程序 import java.util.Scanner; public class Prog46 { public static void main(String[] a ...

  5. Java50道经典习题-程序6 求最大公约数及最小公倍数

    题目:输入两个正整数m和n,求其最大公约数和最小公倍数.分析:用辗转相除法求最大公约数    两个数的最大公约数:设两个数分别为n和m,(n>=m);用定义一个变量i,使用for循环,将i的取值 ...

  6. Java50道经典习题-程序5 判断分数等级

    题目:利用三元运算符来完成此题:从键盘录入一个整型的分数,没有负分满分为100分,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.分析:三元运算符的格式为:逻 ...

  7. Java50道经典习题-程序7 处理字符串

    题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数.分析:利用while语句,条件为输入的字符不为'\n'. import java.util.*; public class Pr ...

  8. Java50道经典习题-程序8 输入数字求和

    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 分析:关键是计算出每一项的值. i ...

  9. Java50道经典习题-程序10 自由落体

    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? import java.util.Scanner; public cl ...

随机推荐

  1. Oracle job procedure 存储过程定时任务(转自hoojo)

    Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...

  2. h5 离线缓存小demo

    传统的web应用是在线应用,这其实也是web的特色,对于PC时代问题并不大,但到了移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得更低.比如:在火车上,穿山越岭进隧道,便无法访问w ...

  3. BZOJ3809:Gty的二逼妹子序列

    浅谈莫队:https://www.cnblogs.com/AKMer/p/10374756.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...

  4. es6变量的解构赋值学习笔记

    1. 解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象.由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错. let { prop: x } = undefin ...

  5. 利用PowerDesigner设计数据库

    PowerDesigner非常强大, 可以利用它完成数据库的设计. 1.下载地址:http://pan.baidu.com/s/1DsLrg 2.表设计: 建立概念数据模型(Conceptual Da ...

  6. 如何禁用 a 标签的点击事件

    a标签是没有disable属性的 ,如果想用disable 禁用a标签的点击事件,也可以实现: 1.a标签要用disable属性,必须和pointer-events属性一起使用, html代码: &l ...

  7. QtCreator开启-O编译优化的方式

    首先,编译优化必须是在Release模式下进行,保证程序没有任何bug的条件下进行执行.编译优化能极大提升程序的运行效率,级别越高速度越快,但是对代码健壮性要求也越高! 选择编译release模式,在 ...

  8. 机器学习:衡量线性回归法的指标(MSE、RMSE、MAE、R Squared)

    一.MSE.RMSE.MAE 思路:测试数据集中的点,距离模型的平均距离越小,该模型越精确 # 注:使用平均距离,而不是所有测试样本的距离和,因为距离和受样本数量的影响 1)公式: MSE:均方误差 ...

  9. Python内置函数:get()

    文章转载于:https://www.cnblogs.com/wushuaishuai/p/7738118.html(博主:IT技术随笔) 描述 Python 字典 get() 方法和 setdefau ...

  10. DataGrid 单元格输入验证 由ValidatingEditor事件完成

    private void gdv_reguline_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContai ...