资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Java程序设计课程期末作业题 目 学生成绩管理系统 学 院 信息科学与工程学院专 业 计算机科学与技术 班 别 09级3班 学 号 200901051624 姓 名 2011年12月17日目录一、课程题目:3二、软件的功能描述3三、系统的UML类图4(一)用况图4(二)类之间的图4(三)数据流程图6四、功能调试6五、具体代码15一、课程题目:设计一个学生Java成绩管理系统(可以不使用界面;如果使用,则界面使用AWT或SWING),要求:a) 增添、删除、修改学生基本信息(基本信息包含学生的学号、姓名、专业分数等信息);b) 计算每门课的平均成绩;c) 统计优秀、良好、中等、及格、不及格的人数百分比,并以柱状图、饼图呈现【说明:可以使用SWING、AWT自己绘制;也可以使用开源类库,如JFreeChar】d) 按学号查询学生及成绩;e) 按照成绩分数排序二、软件的功能描述1, 能够实现学生信息的增删改查四项基本的操作。此程序允许出现重名的现象出现,另外在删除的时候提供了删除所有重名同学的信息和删除指定学号的学生的两种方法,更加贴近现实。2, 能够将程序中的数据存储到data.txt文件中,另外能在程序中通过Swing中的table组件将文件中的内容进行打印出来。可以直观的看到文件内部的结果。3, 此程序给出了“按照学号排序”“按照平均成绩排序”“按照英语成绩排序”“按照数学成绩排序”“按照专业成绩排序”等五个排序方法。4, 此程序在查询的同时又能同时显示出三科成绩的饼图分布,饼图上标出了四个成绩段的人数和百分比。更加方便直观的体现出了单科的成绩分布。5, 程序有一个增加的功能。能够将所有同学的信息用三维柱状图的形式全部呈现出来,能够进行纵向、横向两种比较方式。方便人性化的进行成绩的比较。三、系统的UML类图(一)用况图(二)类之间的图student类 sort类(三)数据流程图四、功能调试1,主界面2,新建学生信息3,查询成绩页面4,修改成绩5,删除成绩第二种方法6, 打印文件内容7, 三科的排序8, 平均成绩排序:9,三科的饼图分布10,所有同学的成绩三维柱状图分析五、具体代码1,主界面代码(Grade.java)public class Grade / 定义主框架private JFrame frame = new JFrame(学生成绩管理系统);/ 定义菜单栏private JMenuBar Bar = new JMenuBar();/ 定义菜单private JMenu JMedit = new JMenu(编辑);private JMenu JMcount = new JMenu(统计);private JMenu JMhelp = new JMenu(数据);/ 定义菜单项private JMenuItem JMIcreate = new JMenuItem(新建);private JMenuItem JMImodify = new JMenuItem(修改);private JMenuItem JMIsearch = new JMenuItem(寻找);private JMenuItem JMIdelete = new JMenuItem(删除);private JMenuItem JMIall = new JMenuItem(成绩排序);private JMenuItem JMIgraphics = new JMenuItem(图形统计);private JMenuItem JMIhelp = new JMenuItem(文件信息);/ 定义文本标签private JLabel text = new JLabel();private JLabel text1 = new JLabel();private JLabel text2 = new JLabel();private JLabel text3 = new JLabel();private JLabel text4 = new JLabel();/ 定义面板private Container con = frame.getContentPane();/ 定义输入框对象/ private StudentManager inputinfo =null;/ 定义查询框架对象private Search search = null;private Create create = null;private Delete delete = null;private Modify modify = null;private Datasort sort = null;private BarCharts ss = null;/ 定义总分统计对象/ private AllgradeCount all = null;/ 定义个人统计对象/ private SignalCount signal = null;/ 构造函数public Grade() / 把菜单栏加入框架frame.setJMenuBar(Bar);/ 把菜单加入菜单栏Bar.add(JMedit);Bar.add(JMcount);Bar.add(JMhelp);/ 把菜单项加入菜单JMedit.add(JMIcreate);JMedit.addSeparator();JMedit.add(JMIsearch);JMedit.addSeparator();JMedit.add(JMImodify);JMedit.addSeparator();JMedit.add(JMIdelete);/ 第一个下拉菜单JMcount.add(JMIall);JMcount.addSeparator();JMcount.add(JMIgraphics);/ 第二个下拉JMhelp.add(JMIhelp);/ 第三个/ 设置文本界面text.setText(=基于TXT文件的Java学生管理系统=);text1.setText(1.增添、删除、修改学生基本信息;并计算每门课的平均成绩;);text2.setText(2.统计优秀、良好、中等、及格、不及格的百分比,并以图呈现);text3.setText(3.按学号查询学生及成绩,并按照不同的成绩分数排序。);text4.setText(=制作者,计算机09-3,王继重=);/ 设置欢迎界面con.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 10);con.add(text);con.add(text1);con.add(text2);con.add(text3);con.add(text4);/ 设置框架frame.setLocation(200, 200);frame.setSize(400, 300);frame.setVisible(true);frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);/ 增加监听器JMIcreate.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) / TODO 自动生成方法存根create = new Create(););JMIsearch.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) search = new Search(););JMImodify.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) modify = new Modify(););JMIdelete.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) delete = new Delete(););JMIall.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) sort = new Datasort(););JMIgraphics.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) ss= new BarCharts(成绩分布柱状图););JMIhelp.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) / TODO 自动生成方法存根/ JOptionPane.showMessageDialog(null, 计算机09-3 王继重);Outfile a = new Outfile(););public static void main(String args) Grade a = new Grade();2,新建用户的代码public class Create extends JFrame /* * 当前容器 */Container currentContainer = this;/* * 存储的文件名 */String fileName = new String(data.txt);/* * 显示标题文本
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号