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

  1. import java.io.*;
  2. public class Prog50{
  3. //定义学生模型
  4. String[] number = new String[5];
  5. String[] name = new String[5];
  6. float[][] grade = new float[5][3];
  7. float[] sum = new float[5];
  8. public static void main(String[] args) throws Exception{
  9. Prog50 stud = new Prog50();
  10. stud.input();
  11. stud.output();
  12. }
  13. //输入学号、姓名、成绩
  14. void input() throws IOException{
  15. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  16. //录入状态标识
  17. boolean isRecord = true;
  18. while(isRecord){
  19. try{
  20. for(int i=0;i<5;i++){
  21. System.out.print("请输入学号:");
  22. number[i] = br.readLine();
  23. System.out.print("请输入姓名:");
  24. name[i] = br.readLine();
  25. for(int j=0;j<3;j++){
  26. System.out.print("请输入第"+(j+1)+"门课成绩:");
  27. grade[i][j] = Integer.parseInt(br.readLine());
  28. }
  29. System.out.println();
  30. sum[i] = grade[i][0]+grade[i][1]+grade[i][2];
  31. }
  32. isRecord = false;
  33. }catch(NumberFormatException e){
  34. System.out.println("请输入一个数字!");
  35. }
  36. }
  37. }
  38. //输出文件
  39. void output() throws IOException{
  40. FileWriter fw = new FileWriter("D:\\JavaEE\\Code\\Java基础50道经典练习题\\src//stud.txt");
  41. BufferedWriter bw = new BufferedWriter(fw);
  42. bw.write("No. "+"Name "+"grade1 "+"grade2 "+"grade3 "+"average");
  43. bw.newLine();
  44. for(int i=0;i<5;i++){
  45. bw.write(number[i]);
  46. bw.write(" "+name[i]);
  47. for(int j=0;j<3;j++)
  48. bw.write(" "+grade[i][j]);
  49. bw.write(" "+(sum[i]/5));
  50. bw.newLine();
  51. }
  52. bw.close();
  53. }
  54. }
  55. /*运行结果
  56. 在D:\JavaEE\Code\Java基础50道经典练习题\src路径下的stud.txt文件中录入了如下数据
  57. No. Name grade1 grade2 grade3 average
  58. 1 张三 10.0 20.0 30.0 12.0
  59. 2 李四 20.0 30.0 40.0 18.0
  60. 3 王五 30.0 40.0 50.0 24.0
  61. 4 赵六 40.0 50.0 60.0 30.0
  62. 5 周七 50.0 60.0 70.0 36.0
  63. */

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. LeetCode Perfect Number

    原题链接在这里:https://leetcode.com/problems/perfect-number/#/description 题目: We define the Perfect Number ...

  2. 怪盗基德的滑翔翼(还是最长x序列)

    //怪盗基德的滑翔翼 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstri ...

  3. Thinkphp 自定义404页面

    一. 手册->调试->异常处理 在公共config.php 中加入: 'TMPL_EXCEPTION_FILE' => '/Public/404.html', //访问不存在的跳转 ...

  4. BZOJ2276:[POI2011]Temperature

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

  5. python3 之logging模块

    logging.getLogger(name=None)Return a logger with the specified name or, if name is None, return a lo ...

  6. MySQL 利用xtrabackup进行增量备份详细过程汇总 (转)

    Xtrabackup下载.安装以及全量备份请参考:http://blog.itpub.net/26230597/viewspace-1465772/ 1,创建mysql备份用户 mysql -uroo ...

  7. POJ 3624 Charm Bracelet(01背包模板)

    Charm Bracelet Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 45191   Accepted: 19318 ...

  8. 第八课 go的条件语句

    1  if ... else package main import "fmt" func main() { flag:= { fmt.Println("flag > ...

  9. PHP类(一)-类的实例化

    类的实例化就是对象.一个类可以分成两个部分,一个是静态描述,就是类里的成员属性.第二个是动态描述,就是类里的成员方法,也就是对象的功能. 声明一个类,可以在class前加一些关键字,如abstract ...

  10. DAY17-Ajax

    Ajax准备知识:json 什么是json? 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 它基于 ECMAScript ( ...