#ScoreAnalyze
面向对象程序设计之综合性试验
##参考界面
内容要求:
综合性实验 学生成绩分析程序
实验类型:综合性
实验目的:综合运用Java语言和面向对象技术开发一个小型软件系统
实验内容:
现在已知某个班的某门课程的期末考试成绩已经存储在一个文本文件中。
(1)文件名说明:
文件名形式为:“班级名称-课程名称.txt”,即主文件名由 “班级名称”和“课程名称”组成,中间用“-”连接;扩展名为TXT。例如:
2014级软件工程8班-面向对象程序设计.txt
表示该文件中存放“2014级软件工程8班”的“面向对象程序设计”的期末考试成绩。
(2)文件内容格式:
文本文件中每行存储一个学生的成绩,包括:学号、姓名和成绩,中间用英文逗号分隔。
说明:学号和姓名是字符串,成绩是实数。
例如:“2014级软件工程8班-面向对象程序设计.txt”文件中存放该班学生面向对象程序设计的考试成绩。内容为:
201230740801,赵一,68
201230740802,钱二,82
201230740803,孙三,58
201230740804,李四,62
201230740805,冯五,73
……
实验要求完成的功能:
(1)从文本文件读取某一个班某门课程的考试成绩。
根据输入的“班级名称”和“课程名称”查找指定班级的文本文件是否存在。
如果不存在,提示错误信息。
如果存在,把文件中所有的数据读取到内存中。并提示文件读取成功。
(2)将内存中的成绩数据另存为一个基于对象的二进制文件。
程序应当定义合适的类表示每个学生的成绩和全部学生的成绩。并序列化存储到二进行制的对象文件中。主文件名使用文本文件的主文件名,扩展名使用“.score”。
(3)读取二进制对象文件
把程序另存为的二进制对象文件读取到内存。
(4)显示全部成绩单
要求:按成绩从高到低输出,成绩相等时,按学生从低到高输出。
显示方式如下:
班级名称:2014级软件工程8班
课程名称:面向对象程序设计
学号 姓名 成绩
201230740801 赵一 68
201230740802 钱二 82
201230740803 孙三 58
201230740804 李四 62
201230740805 冯五 73
……
----------------------------------
最高分:82
最低分:58
平均分:77.50
(5)查询学生的考试成绩
要求:可以根据学号或姓名进行模糊查询。输入使用统一输入。
例如,
输入:3074,则输出所有学号或姓名中包含“3074”的学生的信息。
输入:李,则输出所有学号或姓名中包含“李”的学生的信息。
(6)界面实现
基本要求是“命令行界面”,例如:
1.读取文件文件
2.另存为二进制对象文件
3.读取二进制对象文件
4.显示全部成绩
5.查询学生成绩
0.退出
请选择:
提交要求:
1.打包为可以执行的JAR文档,其中要包含源程序文件。
2.实验报告,简要说明程序的设计思路,不要贴代码,不超过5页(含封面)PDF文档,扩展名为.PDF。
成绩评定说明:
前4个实验随堂练习的平均成绩占实验课最终成绩的50%。
综合性实验满分100分,占实验课最终成绩的50%。
综合性实验评分细则
完成所有的功能,获得基础分75分。
能够合理的运用类和对象,80-85分。
程序结构设计合理,85-90分。
使用图形用户界面并合理,90-100分。