成绩的查询和排序功能实现
一、实验要求
使用数组对一个班的学生信息及考试成绩进行存储,学生信息包括学号、姓名、三门课(英语、数学、计算机)的成绩及总成绩。
- 设计合理的学生类和班级类。要求学生类中有两个不同的构造函数。
- 在班级类
StudentClass
中增加常用方法:如查找某个学生是否存在(find
),增加一个学生(add
),删除一个学生(del
)等。 - 在班级类
StudentClass
中增加对学生排序的方法,排序依据为总成绩或各科成绩。 - 在测试类中,仅生成具有5名学生的班级,5名学生的信息从键盘输入,为了避免以后再重复输入,可将输入的学生信息保存到文件中。
二、实验总体设计方案
(1)在测试类中创建一个5名学生的班级
(2)在控制台中输入5个学生的个人信息,包括学号、姓名、各科成绩,输入结束后会在D盘下生成一个名为class.xls
的文件,文件中保存了这个班级5位学生的初始化信息
(3)在控制台中按总分及各科成绩打印班级的学生信息
类说明Student
类:学生类,属性为学号、姓名、各科成绩及总分StudentClass
类:班级类,包含学生数量和学生列表,同时包含了查找学生、增加学生、删除学生、排序等方法。TestClass
类:主类,创建一个5名学生的班级,完成初始化班级、创建表格文件、按序打印学生信息等功能。
三、实验关键代码
TestClass
中主函数如下:
四、实验结果
初始化学生信息
D
盘下class.xls
文件内容如下
控制台按序输出学生信息
五、实验总结
本次实验的内容不是很难,但是自己也没有写过有关文件的读写的代码,于是在网络上查找,最终决定用jxl
包下的WritableWorkbook
类和WritableSheet
类创建Excel
表格,然后将输入的数据写入表格,保存于D
盘。
将学生组合成数组作为StudentClass
类的属性,增加或删除一个元素的实现较为复杂,而使用ArrayList
类实现起来比较简单。
自己对于Java
中错误类Exception
的使用还不是很熟悉,有时候编译器报错,我也不知道是自己的代码逻辑有错,还是应该抛出错误,这个的使用还需要积累一些经验。