/* * 有五个学生,每个学生有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 提示:先输入 ...
随机推荐
- IDEA下搭建Shiro-web环境,总是报BasicDataSource,classnotfound;问题解决
进入报错跟踪,查看加载的classloader中没有dbcp相关jar包 猜测结果是,jar没有被加载,但是maven引用没错,而且也能找到对应的class 后来又查看IDEA配置中,相关jar也引入 ...
- GPRS模块在Linux平台上ppp拨号上网总结与心得
linux平台的ppp拨号上网,(注明:这里只谈命令行拨号,用linux就要习惯和熟练使用命令行) 在网上常见的有三种方式:1.使用智能的ppp拨号软件wvdial:参考案例:本博客的<使用wv ...
- vscode c++ 编译生成后,调试时无法命中断点
//test.cpp #include <stdio.h> ; void print_line(char *str) { if (str != NULL) printf("%s\ ...
- Java不区分大小写的CaseInsensitiveMap
Java中对于键值对,我们习惯使用类HashMap,使用方式:Map<String, String> result=new HashMap<String,String>(); ...
- Serv-u FTP迁移(windows_to_windwos)
需求分析 公司服务器要做维护,部分服务器需要进行迁移处理,其中就包括Ser-v FTP服务器. 确认环境信息 角色 ip 系统版本 sql版本 Serv-U版本 ODBC account/passwo ...
- HTTP 错误 500.19 - Internal Server Error 无法读取配置节 system.serviceModel 因为它缺少节声明
服务器环境:Windows Server2008 R2 Enterprise 配置 IIS 的时候报错. 错误信息: HTTP 错误 500.19 - Internal Server Error无法访 ...
- hdu 2097 sky数(进制转换)
Sky数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- react使用apollo简单的获取列表
react yarn add apollo-boost apollo-client react-apollo apollo-cache-inmemory apollo-link-http graphq ...
- linux中时间命令详解
DATE hling@hling:~$ date2018年 04月 11日 星期三 19:43:04 CSThling@hling:~$ date +%Y%M%d20184311hling@hling ...
- stm32f7699遇到的犯二问题
没有看到stlink的驱动,难道板子坏了?? 结果:USB线的问题,换了一根用过的线,就行了: