版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 吉林大学软件学院 Java语言程序设计课程设计课程设计报告 题 目 指导老师 2012 年 5 月 29 目录 第1章 小组成员介绍.3第2章 系统设计目的.3第3章 系统实现思路及设计.4第4章 系统调试运行.6第5章 课程设计心得.8第6章 附录.8第1章 小组成员介绍学号姓名比例分配 第2章 系统设计目的1)设计一个客观题考试系统,实现以下功能:1.学生可以登录系统,选择考试科目,在规定时间内答完题目,退出; 2.教师可以登录系统,添加、修改、删除、查找试题题目,还可以查看考试科目分数结果、批量录入试题及更改密码等; 3.管理员可以登录系统,对科目、考试科目、任课教师信息和考试学生信息
2、进行管理,如添加、查看、修改和删除等操作,还可以查看考试结果,批量录入科目、考试科目、任课教师和考生信息,更改密码等。2) 通过这次设计,旨在: 1.提高对java语言设计的掌握能力; 2.理论联系实际,进一步提高学生的软件开发技术; 3.使学生初步了解java项目的开发过程,培养团队意识; 3.培养学生分析、解决问题的能力。 第3章 系统实现思路及详细设计一总体设计二1)学生模块2)教师模块3)数据库设计模块 利用数据库的查询,插入,更新简单易于管理数据的特性,我组决定使用数据库来存储数据,能很大程度上提高考试系统的性能,使其更稳定,简便。仔细考察题目要求,把要存储的内容提取出其属性,建成一
3、些数库中的表,将java与数据库连接之后,在界面上的一些修改等操作会反应对表的操作,同时可以通过界面操作来动态创建和删除数据库中的表。4)管理模块 第4章 系统调试运行一、 登陆界面一、 功能 1)学生考试2)教师管理3)管理员 第5章课程设计心得经过四个星期的课程设计,我组顺利完成该课程设计。通过该课程设计,收获颇多。首先,是我们加深了对Java语言的理论知识的理解;其次,让我们更加熟练的掌握了Java语言的设计能力并且有了实践经验;再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;最后,加强了我们对Java语言的学习兴趣和好感。 第6章 附录1.登陆界面代码import java.
4、awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax
5、.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JRadioButton;import javax.swing.JTextField;public class main_login extends JPanel implements ItemListener JFrame frame=new JFrame("考试系统"); JLabel name; JLabel pas; JTextField tname; JPasswordField tpas; JRadioButton s_jbu;
6、JRadioButton t_jbu; JRadioButton m_jbu; JButton login; JButton reset_button; int k=0; main_login() name=new JLabel("用户名"); tname=new JTextField(20); pas=new JLabel("密码"); tpas=new JPasswordField(20); s_jbu=new JRadioButton("学生"); t_jbu=new JRadioButton("教师");
7、m_jbu=new JRadioButton("管理员"); login=new JButton("登录"); reset_button = new JButton("重填"); this.setLayout(null); name.setBounds(50,50,150,60); tname.setBounds(170,50,200,50); pas.setBounds(50,160,150,60); tpas.setBounds(170,160,200,50); s_jbu.setBounds(50,310,100,40); t_
8、jbu.setBounds(170,310,100,40); m_jbu.setBounds(290,310,100,40); login.setBounds(410,310,100,40); /reset_button.setBounds(); Font fnt=new Font("Serief",Font.BOLD,20); name.setFont(fnt); pas.setFont(fnt); s_jbu.setFont(fnt); t_jbu.setFont(fnt); m_jbu.setFont(fnt); login.setFont(fnt); ButtonG
9、roup group=new ButtonGroup(); group.add(s_jbu); group.add(t_jbu); group.add(m_jbu); this.add(name); this.add(tname); this.add(pas); this.add(tpas); this.add(s_jbu); this.add(t_jbu); this.add(m_jbu); this.add(login); this.add(reset_button); reset_button.addActionListener(new ActionListener() public v
10、oid actionPerformed(ActionEvent e) tname.setText(""); tpas.setText(""); ); s_jbu.addItemListener(this); t_jbu.addItemListener(this); m_jbu.addItemListener(this); login.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String s=tname.getText(); Stri
11、ng p=tpas.getText(); try if(k=1) if(new ResultSetDemo01().check(s, p,k) S1.login=s; new S1().diaplay(); tname.setText(""); tpas.setText(""); else JOptionPane.showMessageDialog(null, "用户名或密码错误"); tname.setText(""); tpas.setText(""); else if(k=2) if(ne
12、w ResultSetDemo01().check(s, p,k) T_new1.t_login=s; /System.out.println(T_new1.t_login); new T_new1().diaplay(); tname.setText(""); tpas.setText(""); else JOptionPane.showMessageDialog(null, "用户名或密码错误"); tname.setText(""); tpas.setText(""); else if(k
13、=3) if(new ResultSetDemo01().check(s, p,k) M1.login=s; new M1().display(); tname.setText(""); tpas.setText(""); else JOptionPane.showMessageDialog(null, "用户名或密码错误"); tname.setText(""); tpas.setText(""); catch (Exception ee) / TODO: handle exception )
14、; public void itemStateChanged(ItemEvent e) if(e.getSource()=s_jbu) k=1; else if(e.getSource()=t_jbu) k=2; else if(e.getSource()=m_jbu) k=3; public static void main(String args) JFrame frame=new JFrame("考试系统"); frame.add(new main_login(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
15、); frame.setVisible(true); frame.setSize(600,400); frame.setLocationRelativeTo(null);2.学生考试部分代码import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Date;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;imp
16、ort javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.JLabel;public class S2 extends JPanel implements ActionListenerJTextField grade;JTextArea jtx;JButton jb1;JButton jb2;JTextField ans;JButton jb3;String ds;JLabel jl;JLabel jl1;int np=new int200;int p;int count;String myAns=ne
17、w String1000;String trueAns=new String1000;int tscore=new int 1000;int myscore=0;int w;JButton end;S2()trynp= new get_test_number().readnumber(S1.choose);count=np.length;catch (Exception e) / TODO: handle exceptiontryp=0;StringBuffer buf=new ClobDemo02().readcontent(npp); ds=new String(buf);catch (E
18、xception e) / TODO: handle exceptiongrade=new JTextField();grade.setEditable(false);end = new JButton("交卷");jtx=new JTextArea(ds);jtx.setSize(400, 500);jtx.setEditable(false);jl=new JLabel("答案:");/增加2jl1=new JLabel("分数:");/增加1jb1=new JButton("上一题");jb2=new JBu
19、tton("下一题");jb3=new JButton("提交");/改一下位置ans=new JTextField(50);jtx.setLineWrap(true);this.setLayout(null);jl1.setBounds(400,100,50,30);/改动3grade.setBounds(440,100,50,30);jtx.setBounds(30,30,300,200);jl.setBounds(50,250,60,30);jb1.setBounds(90,350,80,30);jb2.setBounds(195,350,80,3
20、0);ans.setBounds(100,250,80,30);jb3.setBounds(190,250,80,30);end.setBounds(410,180,80,30);jb1.addActionListener(this);jb2.addActionListener(this);jb3.addActionListener(this);end.addActionListener(this);this.add(jb1);this.add(jl);this.add(jl1);this.add(jb2);this.add(ans);this.add(jb3);this.add(jtx);t
21、his.add(end);this.add(grade); void display() JFrame frame=new JFrame("答题页面"); frame.setLocationRelativeTo(null); frame.add(this); frame.setVisible(true); frame.setSize(600, 500);/改动4public void actionPerformed(ActionEvent e) if(e.getSource()=jb1) if(p>0) try p-;StringBuffer buf=new Clob
22、Demo02().readcontent(npp); ds=new String(buf);jtx.setText(ds);catch (Exception ew) / TODO: handle exception else if(e.getSource()=jb2) p+=1; if(p<5) tryStringBuffer buf=new ClobDemo02().readcontent(npp); ds=new String(buf);/System.out.println(ds);jtx.setText(ds);catch (Exception ew) / TODO: handl
23、e exception else JOptionPane.showMessageDialog(null, "题已经答完应该交卷了"); else if(e.getSource()=jb3) String f= ans.getText(); myAnsp=f; ans.setText(""); else if(e.getSource()=end) System.out.println("hello "+count); try /* java.util.Date nows=new java.util.Date(); int hh=nows.getHours(); int mm=nows.getMinutes(); int lk=hh*60+mm; String ti=new read_test_time().readtesttime(S1.choose); String hh1=ti.substring(0, 3); String mm1=ti.substring(4, 7);int rt1=new Integer(hh1.charAt(0)*10+new In
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年天津市护理专业期末试卷
- 2025-2026年公众表达能力测试题库
- 2026年护士资格考试急救护理学专项训练习题课件
- 大数据企业培育认定申报材料参考模板
- Unit 6 Plan for Yourself Reading Plus 同步练习人教版英语八年级上册
- 外来施工人员入场安全教育培训考试卷及答案
- 危险化学品安全作业《过氧化工艺》安全生产模拟练习题题及答案
- 无菌导尿术模拟试题及答案
- 物业项目经理项目运营管理综合能力测试题及答案
- 现代人力资源管理理论与应用知识题及答案
- 苏州工业园区斜塘街道2026年社工招聘考试【结构化面试题库+高分答题模板】(含考官评分要点)
- 2026陕西西安市西北工业大学自动化学院智能飞行控制创新团队助理岗位招聘2人考试备考试题及答案详解
- 2026中国电子特气纯化工艺突破与晶圆厂供应商认证周期
- 2026新教材语文 10故宫博物院 教学课件
- 电化学测量方法
- 2026年上海市安全员C3证模拟试题及答案
- T∕IAC CAMRA 50-2024 事故汽车常用零部件修复与更换判别规范
- 人力资源管理绩效考核方案案例
- 2026年长沙电力职业技术学院单招职业技能考试题库及参考答案详解一套
- 新成立业委会的工作计划书
- 工业产品生产许可证实施细则通则
评论
0/150
提交评论