/* * 有五个学生,每个学生有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 提示:先输入 ...
随机推荐
- WEB服务器与应用服务器的区别
一.简述 WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先要理解什么是WEB?WEB可以简单理解为我们所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就 ...
- Golang 笔记 2 函数、结构体、接口、指针
一.函数 Go中函数是一等(first-class)类型.我们可以把函数当作值来传递和使用.Go中的函数可以返回多个结果. 函数类型字面量由关键字func.由圆括号包裹声明列表.空格以及可以由圆括号 ...
- 开发环境使用docker 快速启动 单机 RocketMq
镜像说明 https://cr.console.aliyun.com/?spm=5176.2020520001.1001.8.kpaxIC&accounttraceid=176ddc4e-62 ...
- HTTPS 通讯流程
原文地址 https://blog.csdn.net/wangweilica6/article/details/50171457 一.简介 前一篇文章,我总结了下,如何部署https服务,开通ssl通 ...
- pytest 3.9在python 2.7下的一个bug
最在在使用pytest,用的是pytest 3.9.3,python版本为2.7.10,但一直在使用时发现总提示 File "c:\python27\Lib\json\__init__.py ...
- Android application 和 activity 标签详解
extends:http://blog.csdn.net/self_study/article/details/54020909 Application 标签 android:allowTaskRep ...
- java开学考试有感以及源码
一.感想 Java开学测试有感 九月二十号,王老师给我们上的第一节java课,测试. 说实话,不能说是十分有自信,但还好,直到看见了开学测试的题目,之前因为已经做过了王老师发的16级的题目,所以当时还 ...
- Linux 的基本操作(系统的安装)
操作系统的安装: 操作系统的安装 这次安装系统也是基于CentOS的安装.把光盘插入光驱,设置bios光驱启动.进入光盘的欢迎界面. 其中有两个选项,可以直接按回车,也可以在当前界面下输入 linux ...
- 本地上传文件至服务器的技巧(linux文件压缩及解压文件)
linux(ubuntu)文件解压及压缩文件 ubuntu支持文件的解压及压缩功能, 如果ubuntu上面没有安装过unzip工具的话,可以通过下面命令安装: sudo apt-get install ...
- 用TreeSet生成不重复自动排序随机数组
随机数组就是在指定长度的数组中用随机数字为每个元素赋值,常用于不确定数值的环境,如拼图游戏需要随机数组来打乱图片顺序.可是同时也存在问题,就是随机数的重复问题,这个问题常常被忽略. TreeSet类的 ...