1 /*50 【程序 50 文件 IO】
2 题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成
3 绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
4 */
5
6 /*分析
7 * 1、自定义类student,包括学号,姓名,科目1成绩,科目2成绩,科目3成绩,平均成绩
8 * public class 类名{
9 *.数据类型 属性名称1;
10 *.数据类型 属性名称2;
11 * …
12 * }
13 * 2、分别调用三个学生的三科成绩,求出平均值后存入学生的信息中
14 * 3、将信息表存入磁盘文件中
15 * */
16 /*数据
17 * 12 王力宏 66 77 88
18 * 13 周杰伦 123 109 121
19 * 14 薛之谦 89 72 123
20 * */
21
22
23 package homework;
24
25 import java.io.BufferedWriter;
26 import java.io.FileWriter;
27 import java.io.IOException;
28 import java.util.ArrayList;
29 import java.util.List;
30 import java.util.Scanner;
31
32 public class _50{
33
34 public static void main(String[] args) {
35 // 建立List容器,用来保存学习信息
36 List<Student> list = new ArrayList<Student>();
37 Scanner sc=new Scanner(System.in); //系统输入扫描器
38 for (int i = 0; i < 3; i++) {
39 System.out.println("请输入第"+(i+1)+"个同学的学号、姓名、成绩1、成绩2、成绩3:(以空格相隔)");
40 String[] s = sc.nextLine().split(" "); //从键盘得到一个字符串,用空格分割为5个子字符串
41 int ID = Integer.parseInt(s[0]); //得到ID
42 String name=s[1]; //姓名
43 int grade1 = Integer.parseInt(s[2]); //成绩1
44 int grade2 = Integer.parseInt(s[3]); //成绩2
45 int grade3 = Integer.parseInt(s[4]); //成绩3
46 int aver=(grade1+grade2+grade3)/3; //用3个成绩计算出平均成绩
47 Student stu = new Student(ID, name, grade1, grade2, grade3, aver);
48 list.add(stu); //将数据存入数据表中
49 }
50 sc.close(); //关闭扫描仪
51 //输出数据表中的所有数据
52 for(int i = 0 ; i<list.size();i++){
53 System.out.print(list.get(i)+"\n");
54 }
55
56 //创建一个字符缓冲输出流=====看不到懂啊
57 BufferedWriter out = null;
58 try {
59 out = new BufferedWriter(new FileWriter("D:/stud.txt")); //将数据存到"D:/stud.txt"
60 for (int i = 0; i < list.size(); i++) { //遍历数据表
61 out.write(list.get(i)+"\n"); //将数据写入到
62 out.newLine(); // 换行
63 }
64 } catch (IOException e) {
65 e.printStackTrace();
66 } finally {
67 try {
68 if (out != null) {
69 out.close();
70 }
71 } catch (IOException e) {
72 e.printStackTrace();
73 }
74 }
75
76 }
77
78 //自定义类Student
79 public static class Student{
80 int ID; //学号
81 String name; //姓名
82 private float grade1; //成绩1
83 private float grade2; //成绩2
84 private float grade3; //成绩3
85 private float aver; //平均成绩
86
87 public Student(int ID,String name,float grade1,float grade2,float grade3,float aver) {
88 this.ID = ID;
89 this.name = name;
90 this.grade1 = grade1;
91 this.grade2 = grade2;
92 this.grade3 = grade3;
93 this.aver=aver;
94 }
95
96 public String toString() {
97 return "学生学号:"+ID+" 姓名:"+name+" 成绩1:"+grade1+" 成绩2:"+grade2+" 成绩3:"
98 +grade3+" 平均成绩:"+aver ;
99 }
100
101 }
102
103 }

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

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

    1.Student类:类中有五个变量,分别是学号,姓名,三门成绩 package test3; public class Student { private int num; private Stri ...

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

    import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.ut ...

  3. java利用Scanner获取键盘输入

    首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...

  4. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  5. java例题_47 读取 7 个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*

    1 /*47 [程序 47 打印星号] 2 题目:读取 7 个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*. 3 */ 4 5 /*分析 6 * 1.多次读取---for循环 7 * ...

  6. 案例:利用累加器计算前N个学生的总成绩和平均成绩

    /* *录入N个学生的成绩,并求出这些学生的总成绩和平均成绩! * */ import java.util.Scanner; public class SumTest{ public static v ...

  7. 【Java例题】5.1 多项式计算

    1. 计算下列多项式的值. pn=an*x^n+...+a1*x+a0其中,"^"表示乘方. x.n以及ai(i=0,1,...,n-1)由键盘输入. package chapte ...

  8. 【Java例题】2.3 计算银行存款本息

    3.计算银行存款本息. 用户输入存款金额money,存款期years和年利率rate, 根据公式: sum=money(1+rate)^years ,计算到期存款本息. 这里的"^" ...

  9. Java算法-各种题目总结

    1.排列计算 /*[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子 ...

随机推荐

  1. vue & arrow function error

    vue & arrow function error <template> <div class="home"> <img alt=" ...

  2. TypeScript enum 枚举实现原理

    TypeScript enum 枚举实现原理 反向映射 https://www.typescriptlang.org/docs/handbook/enums.html enum Direction { ...

  3. Recoil & React official state management

    Recoil & React official state management Redux Recoil.js https://recoiljs.org/ A state managemen ...

  4. Python元组拆包捡到8倍镜快准狠

    元组拆包 元组是不可变列表,列表是通过索引取值的,元组也是: tuple_test = (1, 2, 3) a = tuple_test[0] b = tuple_test[1] c = tuple_ ...

  5. js实现复制粘贴

    项目中经常会遇到点击按钮复制订单号.订单id等内容到粘贴板中的需求.可是通常我们都是用Ctrl + c或右击复制的,别操心,js也是有复制命令的,那就是document.execCommand('co ...

  6. STM32学习笔记——序言

    写AVR已经两年了.如果初中时候玩Arduino也算的话,就是6年. 两年以来,我用AVR单片机完成了两个大项目: AVR单片机教程,一时兴起写的,效果不好: MEDS,参赛用的课题,半完成,比赛都结 ...

  7. three.js cannon.js物理引擎之约束(二)

    今天郭先生继续讲cannon.js的物理约束,之前的一篇文章曾简单的提及过PointToPointConstraint约束,那么今天详细的说一说cannon.js的约束和使用方法.在线案例请点击博客原 ...

  8. 剑指 Offer 49. 丑数 + 小根堆 + 动态规划

    剑指 Offer 49. 丑数 Offer_49 题目详情 解法一:小根堆+哈希表/HashSet 根据丑数的定义,如果a是丑数,那么a2, a3以及a*5都是丑数 可以使用小根堆存储按照从小到大排序 ...

  9. 再探命令行传参之c与python

    继上一次java命令行传参 python sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互,如:python解释 ...

  10. Nebula Storage 2.0 存储格式

    随着 2.0 各版本的陆续发布,Nebula Graph 迎来了一系列的改动,在存储方面,影响最大的改动就是底层编码格式进行了修改.Nebula Graph 的底层存储是基于 KV 保存在 Rocks ...