您的位置:首页 > 编程语言 > Java开发

SCAU大二上Java综合性实验

2014-12-29 20:04 239 查看
一、题目要求

实验内容:

1. 已经提供的原始数据:班级成绩单文件

该文件为文本文件,存储某个班的所有学生某门课程的成绩。

例如:2012级计算机科学与技术8班-面向对象程序设计.txt

文件中每行存储一个学生的成绩,包括:学号、姓名和成绩,中间用英文逗号分隔。

说明:学号和姓名是字符串,成绩使用整数。

例如“2012级计算机科学与技术8班-面向对象程序设计.txt”文件中存放该班学生面向对象程序设计的考试成绩。内容为:

201230740801,赵一,68

201230740802,钱二,82

201230740803,孙三,58

201230740804,李四,62

201230740805,冯五,73

……

2. 实验要求:

(1) 程序使用图形用户界面。

(2) 文件操作与数据统计功能

<1> 打开上面给出的文本文件,将其中的成绩数据加载到内存。

<2> 把内存中的成绩数据另存为格式相同的另一个文本文件。

<3> 把内存中的成绩数据另存为一个二进制的对象文件。

<4> 打开已经保存的二进制的对象文件,将其中的成绩数据加载到内存。

<5> 统计分析已经加载到内存的班级的成绩,包括:最高分、最低分、平均分、各成绩等级的人数和百分比。

说明:该部分界面参见图1,黄色注释框标出的是完成本部分功能需要的界面。

(3) 图形统计功

<1> 对加载到内存的成绩单进行“柱形图”分析

<2> 对加载到内存的成绩单进行“饼图”分析

说明:该部分界面参见图2,图1红注释框标出的是完成本部分功能需要的按钮。图形使用Java的Graphics对象绘制,不得使用第三方类库。

(4) 查询排序功能

<1> 在“查询输入框”输入“学号、姓名或成绩”的全部或部分,成绩列表中只显示包括输入数据的成绩项目。

<2> 点击表格的“列标题”,可以自动按该列排序,2次点击可以切换“升序”和“降序”。

说明:图1黑色注释框指出的是查询界面的位置。提示:JTabel的RowSorter。

提交要求:

二、功能实现方法

1.图形用户界面

运用了Swing 的组件类(JFrame,JButton,JLable等等)去完成了这个功能,使用了可视化编程的方法去完成了,然后使用监听器去触发事件。

package scoreaynalysissystem;
public class Student {
private String id ;
private String name;
private int score ;
Student (){
}
Student ( String id ,String name , int score ) {
this.id = id ; this.name = name ; this.score = score ;
}
public void set_id( String id ){
this.id = id ;
}
public void set_name( String name ){
this.name = name ;
}
public void set_score( int score ){
this.score = score ;
}
public String get_id(){
return this.id;
}
public String get_name(){
return this.name ;
}
public int get_score(){
return this.score;
}
public void show (){
System.out.println( this.id + "," + this.name + "," + this.score );
}
public String get_String (){
return this.id + "," + this.name + "," + this.score ;
}
public boolean eaquals( Student x ){
return ( this.score == x.score );
}
public int Compareable( Student x ){
if( this.score == x.score ) return 0 ;
else if( this.score > x.score ) return 1 ;
else return -1 ;
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: