/* * 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 *(包括学生号,姓名,三门课成绩),计算出平均成绩, *将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 */
1.Student类:类中有五个变量,分别是学号,姓名,三门成绩
package test3;
public class Student {
private int num;
private String name;
private double Chinese;
private double English;
private double math;
private double avg;
public Student() { }
@Override
public String toString() {
return "学生学号:" + num + ", 姓名:" + name + ", 语文成绩:" + Chinese + ", 英语成绩:" + English + ", 数学成绩:"
+ math + ",平均成绩:" + avg ;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getChinese() {
return Chinese;
}
public void setChinese(double chinese) {
Chinese = chinese;
}
public double getEnglish() {
return English;
}
public void setEnglish(double english) {
English = english;
}
public double getMath() {
return math;
}
public void setMath(double math) {
this.math = math;
}
public void setAvg(double avg) {
this.avg=avg;
}
public double getAvg() {
return avg;
}
}
2.StudentDao类,用来获取学生的平均成绩 的工具类
package test3;
public class StudentDao {
static Student stu;
static double avg;
public static double getAvg(Student s) {
stu=s;
double cw;
double en;
double ma;
cw=stu.getChinese();
en=stu.getEnglish();
ma=stu.getMath();
avg=(cw+en+ma)/3;
return avg;
}
}
3.主类,用来获取学生的信息和把学生的信息输入到本地文件stud中
package test3; import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner; /*
* 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据
*(包括学生号,姓名,三门课成绩),计算出平均成绩,
*将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
*/
public class test {
static ArrayList<Student> list = new ArrayList<Student>();
static BufferedWriter out = null; public static void main(String[] args) throws Exception {
getStu();
saveStu();
} // 从键盘获取学生信息
public static void getStu() {
Scanner scan = new Scanner(System.in);
int count = 1;
while (list.size() < 3) {
System.out.println("--------请输入学生信息--------");
System.out.println("请输入" + count + "学生的学号:");
int num = scan.nextInt();
System.out.println("请输入" + count + "学生的姓名:");
String name = scan.next();
System.out.println("请输入" + count + "学生的语文成绩:");
double cw = scan.nextDouble();
System.out.println("请输入" + count + "学生的数学成绩:");
double sx = scan.nextDouble();
System.out.println("请输入" + count + "学生的英语成绩:");
double yy = scan.nextDouble(); Student s = new Student();
// 判断学生成绩是否正确
if (!(cw < 0) && !(yy < 0) && !(sx < 0)) {
s.setNum(num);
s.setName(name);
s.setChinese(cw);
s.setEnglish(yy);
s.setMath(sx);
s.setAvg(StudentDao.getAvg(s));
list.add(s);
count += 1; } else {
System.out.println("成绩输入错误!");
continue;
}
}
System.out.println(list);
} // 把学生信息录入本地文件
public static void saveStu() {
// 创建一个字符缓冲输出流
try {
out = new BufferedWriter(new FileWriter("stud.txt"));
for (int i = 0; i < list.size(); i++) {
out.write("姓名:" + list.get(i).getName() + " 学号:" + list.get(i).getNum() + " 语文成绩:"
+ list.get(i).getChinese() + " 数学成绩" + list.get(i).getMath() + "英语成绩:"
+ list.get(i).getEnglish() + " 平均成绩:" + list.get(i).getAvg());
out.newLine();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
} }
}
/*
* 带缓冲区的流中的特殊方法
* readLine()属于BufferedReader
* newLine()属于BufferedWriter
*
* newLine 和 \r\n的区别
* newLine是跨平台的方法
* \r\n只支持的是windows系统
*/
---------------------
作者:Soar_Sir
来源:CSDN
原文:https://blog.csdn.net/SoarFly0807/article/details/76034807
版权声明:本文为博主原创文章,转载请附上博文链接!
/* * 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 *(包括学生号,姓名,三门课成绩),计算出平均成绩, *将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 */的更多相关文章
- 代码实现:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 (包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.ut ...
- java例题_50 题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成 绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
1 /*50 [程序 50 文件 IO] 2 题目:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成 3 绩),计算出平均成绩,将原有的数据和计算出的平均分数存放 ...
- Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。
返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...
- 案例:利用累加器计算前N个学生的总成绩和平均成绩
/* *录入N个学生的成绩,并求出这些学生的总成绩和平均成绩! * */ import java.util.Scanner; public class SumTest{ public static v ...
- Hadoop 学生平均成绩
1.实例描述 通过一个计算学生平均成绩的例子来讲解开发MapReduce程序的流程.输入文件都是纯文本文件,输入文件中的每行内容均为一个学生的姓名和他相应的成绩,如果有多门学科,则每门学科为一个文件. ...
- 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数。定义 Gymnastics 类和 School 类,它们都是 ComputerAverage 的子类。Gymnastics 类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分;School 中计算平均分的方法是所有科目的分数之和除以总科目数。 要求:定义ComputerAv
题目: 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数. 定义 Gymnastics 类和 School 类,它们都是 ComputerAverag ...
- mapreduce实现学生平均成绩
思路: 首先从文本读入一行数据,按空格对字符串进行切割,切割后包含学生姓名和某一科的成绩,map输出key->学生姓名 value->某一个成绩 然后在reduce里面对成绩进行遍历 ...
- 问题 C: B 统计程序设计基础课程学生的平均成绩
题目描述 程序设计基础课程的学生成绩出来了,老师需要统计出学生个数和平均成绩.学生信息的输入如下: 学号(num) 学生姓名(name) ...
- java从键盘输入学生成绩,找出最高分,并输出学生成绩等级。
/*从键盘输入学生成绩,找出最高分,并输出学生成绩等级:成绩 >=最高分-10 等级为A成绩 >=最高分-20 等级为B成绩 >=最高分-30 等级为C其余为 等级为D 提示:先输入 ...
随机推荐
- [todo] 3rd
十个 Laravel 5 程序优化技巧
- 机器人学 —— 机器人感知(Location)
终于完成了Robotic SLAM 所有的内容了.说实话,课程的内容比较一般,但是作业还是挺有挑战性的.最后一章的内容是 Location. Location 是 Mapping 的逆过程.在给定ma ...
- 14:CSS3 渐变(gradient)与 过度(transition)、CSS3 的2D动画
14:CSS3 渐变 CSS3 渐变(gradient)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果,现在通过使用 CSS3 的渐变(gradients)即可 ...
- A Java back-end engineer's study notes
loveincode's notes 学习工作中的一些记录,收藏. 人气很高的链接库 计算机基础相关笔记 操作系统 , 编译原理 , 计算机网络 , 互联网协议... 常用数据结构与算法 Java 实 ...
- Java编程基础篇第五章
数组概述 概念:数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器.数组既可以存储基本数据类型,也可以存储引用数据类型.应用场景:为了存储同种数据类型的多个值 数组定义格式 格式1:元素类型 ...
- Codeforces 1132 - A/B/C/D/E/F - (Undone)
链接:http://codeforces.com/contest/1132 A - Regular Bracket Sequence - [水] 题解:首先 "()" 这个的数量多 ...
- 16.2-uC/OS-III同步 (事件标志组)
事件标志组 1.当任务要与多个事件同步时可以使用事件标志.若其中的任意一个事件发生时任务被就绪, 叫做逻辑或(OR).若所有的事件都发生时任务被就绪,叫做逻辑与( AND). 2.用户可以创建任意个事 ...
- Java连接MySQL报出警告 WARN: Establishing SSL connection without server's identity verification is not recommended.
很多人使用JDBC连接MySQL时报出警告: WARN: Establishing SSL connection without server's identity verification is n ...
- VUE 全局变量的几种实现方式
最近在学习VUE.js 中间涉及到JS全局变量,与其说是VUE的全局变量,不如说是模块化JS开发的全局变量. 1.全局变量专用模块 就是以一个特定模块来组织管理这些全局量,需要引用的地方导入该模块便好 ...
- WebSocket 学习教程(二):Spring websocket实现消息推送
=============================================== 环境介绍: Jdk 1.7 (1.6不支持) Tomcat7.0.52 (支持Websocket协议) ...