java例题_50 题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成 绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
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"中。的更多相关文章
- /* * 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 *(包括学生号,姓名,三门课成绩),计算出平均成绩, *将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 */
1.Student类:类中有五个变量,分别是学号,姓名,三门成绩 package test3; public class Student { private int num; private Stri ...
- 代码实现:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 (包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.ut ...
- java利用Scanner获取键盘输入
首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...
- JAVA第三周作业(从键盘输入若干数求和)
JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...
- java例题_47 读取 7 个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*
1 /*47 [程序 47 打印星号] 2 题目:读取 7 个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*. 3 */ 4 5 /*分析 6 * 1.多次读取---for循环 7 * ...
- 案例:利用累加器计算前N个学生的总成绩和平均成绩
/* *录入N个学生的成绩,并求出这些学生的总成绩和平均成绩! * */ import java.util.Scanner; public class SumTest{ public static v ...
- 【Java例题】5.1 多项式计算
1. 计算下列多项式的值. pn=an*x^n+...+a1*x+a0其中,"^"表示乘方. x.n以及ai(i=0,1,...,n-1)由键盘输入. package chapte ...
- 【Java例题】2.3 计算银行存款本息
3.计算银行存款本息. 用户输入存款金额money,存款期years和年利率rate, 根据公式: sum=money(1+rate)^years ,计算到期存款本息. 这里的"^" ...
- Java算法-各种题目总结
1.排列计算 /*[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子 ...
随机推荐
- The Weekly Web Dev Challenge: Emoji Ratings
The Weekly Web Dev Challenge: Emoji Ratings /* DESCRIPTION: You job is to enable users to give a rat ...
- website captcha
website captcha 验证码 hCaptcha hCaptcha通过询问对人类来说很容易且对机器来说很困难的简单问题,可以帮助您喜欢的Web服务阻止机器人,垃圾邮件和滥用行为. https: ...
- react new features 2020
react new features 2020 https://insights.stackoverflow.com/survey/2019#technology-_-web-frameworks h ...
- UI 素材网站
UI 素材网站 UI 设计师网站 国外: dribble.behance.Pinteres 国内: 优设.站酷.UI中国.花瓣 https://design.google/ https://dribb ...
- Mac mini M1使用简单体验(编程、游戏、深度学习)
好久不见了各位! 前一阵子忍不住剁手买了M1芯片的mac mini,为了弥补自己的内疚感就卖了自己的旧的mbp2017款.数据也完全迁移到了新机器上,之前的工作也就由mbp2017彻底换成mac mi ...
- 纯CSS实现内容放大缩小效果
先搭架子 再实现第一个内容 填充更多内容 拆掉border,查看最终效果 html代码 <!-- 服务 --> <div class="service"> ...
- 2021 年学习 React 的所需要的 JavaScript 基础
在理想的情况中,您可以先了解所有有关 JavaScript 和 web 开发的知识,然后再深入了解React. 但是,我们没有办法这样,如果等你把所有 JavaScript 的知识都掌握了再去学习 R ...
- ValidationUtils 验证工具
package com.appnirman.vaidationutils;import android.content.Context;import java.util.regex.Matcher;i ...
- C++ folly库解读(二) small_vector —— 小数据集下的std::vector替代方案
介绍 使用场景 为什么不是std::array 其他用法 其他类似库 Benchmark 代码关注点 主要类 small_vector small_vector_base 数据结构 InlineSto ...
- redis数据结构和对象一
1. SDS:简单动态字符串(simple dynamic string) Redis没有直接使用C语言的字符串,而是自己构建了一种名为简单动态字符串类型,并将SDS用作Redis的默认字符串. SD ...