java课程设计报告副本.docx
- 文档编号:29920969
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:21
- 大小:295.12KB
java课程设计报告副本.docx
《java课程设计报告副本.docx》由会员分享,可在线阅读,更多相关《java课程设计报告副本.docx(21页珍藏版)》请在冰豆网上搜索。
java课程设计报告副本
吉林大学软件学院《Java语言程序设计课程设计》
课程设计报告
题目
指导老师
2012年5月29
目 录
第1章小组成员介绍.............................3
第2章系统设计目的.............................3
第3章系统实现思路及设计............................4
第4章系统调试运行..............................6
第5章课程设计心得..............................8
第6章附录...............................8
第1章小组成员介绍
学号
姓名
比例分配
第2章系统设计目的
1)设计一个客观题考试系统,实现以下功能:
1.学生可以登录系统,选择考试科目,在规定时间内答完题目,退出;
2.教师可以登录系统,添加、修改、删除、查找试题题目,还可以查看考试科目分数结果、批量录入试题及更改密码等;
3.管理员可以登录系统,对科目、考试科目、任课教师信息和考试学生信息进行管理,如添加、查看、修改和删除等操作,还可以查看考试结果,批量录入科目、考试科目、任课教师和考生信息,更改密码等。
2)通过这次设计,旨在:
1.提高对java语言设计的掌握能力;
2.理论联系实际,进一步提高学生的软件开发技术;
3.使学生初步了解java项目的开发过程,培养团队意识;
3.培养学生分析、解决问题的能力。
第3章系统实现思路及详细设计
一.
总体设计
二.
1)学生模块
2)教师模块
3)数据库设计模块
利用数据库的查询,插入,更新简单易于管理数据的特性,我组决定使用数据库来存储数据,能很大程度上提高考试系统的性能,使其更稳定,简便。
仔细考察题目要求,把要存储的内容提取出其属性,建成一些数库中的表,将java与数据库连接之后,在界面上的一些修改等操作会反应对表的操作,同时可以通过界面操作来动态创建和删除数据库中的表。
4)管理模块
第4章系统调试运行
一、登陆界面
一、功能
1)学生考试
2)教师管理
3)管理员
第5章 课程设计心得
经过四个星期的课程设计,我组顺利完成该课程设计。
通过该课程设计,收获颇多。
首先,是我们加深了对Java语言的理论知识的理解;
其次,让我们更加熟练的掌握了Java语言的设计能力并且有了实践经验;
再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;
最后,加强了我们对Java语言的学习兴趣和好感。
第6章附录
1.登陆界面代码
importjava.awt.Font;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.ItemEvent;
importjava.awt.event.ItemListener;
importjavax.swing.ButtonGroup;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JRadioButton;
importjavax.swing.JTextField;
publicclassmain_loginextendsJPanelimplementsItemListener{
JFrameframe=newJFrame("考试系统");
JLabelname;
JLabelpas;
JTextFieldtname;
JPasswordFieldtpas;
JRadioButtons_jbu;
JRadioButtont_jbu;
JRadioButtonm_jbu;
JButtonlogin;
JButtonreset_button;
intk=0;
main_login(){
name=newJLabel("用户名");
tname=newJTextField(20);
pas=newJLabel("密码");
tpas=newJPasswordField(20);
s_jbu=newJRadioButton("学生");
t_jbu=newJRadioButton("教师");
m_jbu=newJRadioButton("管理员");
login=newJButton("登录");
reset_button=newJButton("重填");
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_jbu.setBounds(170,310,100,40);
m_jbu.setBounds(290,310,100,40);
login.setBounds(410,310,100,40);
//reset_button.setBounds();
Fontfnt=newFont("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);
ButtonGroupgroup=newButtonGroup();
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(newActionListener(){
publicvoidactionPerformed(ActionEvente){
tname.setText("");
tpas.setText("");
}
});
s_jbu.addItemListener(this);
t_jbu.addItemListener(this);
m_jbu.addItemListener(this);
login.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Strings=tname.getText();
Stringp=tpas.getText();
try{
if(k==1){
if(newResultSetDemo01().check(s,p,k)){
S1.login=s;
newS1().diaplay();
tname.setText("");
tpas.setText("");
}
else{
JOptionPane.showMessageDialog(null,"用户名或密码错误");
tname.setText("");
tpas.setText("");
}
}
elseif(k==2){
if(newResultSetDemo01().check(s,p,k)){
T_new1.t_login=s;
//System.out.println(T_new1.t_login);
newT_new1().diaplay();
tname.setText("");
tpas.setText("");
}
else{
JOptionPane.showMessageDialog(null,"用户名或密码错误");
tname.setText("");
tpas.setText("");
}
}else
if(k==3){
if(newResultSetDemo01().check(s,p,k)){
M1.login=s;
newM1().display();
tname.setText("");
tpas.setText("");
}
else{
JOptionPane.showMessageDialog(null,"用户名或密码错误");
tname.setText("");
tpas.setText("");
}
}
}catch(Exceptionee){
//TODO:
handleexception
}
}
});
}
publicvoiditemStateChanged(ItemEvente){
if(e.getSource()==s_jbu){
k=1;
}else
if(e.getSource()==t_jbu){
k=2;
}else
if(e.getSource()==m_jbu){
k=3;
}
}
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame("考试系统");
frame.add(newmain_login());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setSize(600,400);
frame.setLocationRelativeTo(null);
}
}
2.学生考试部分代码
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Date;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;
importjavax.swing.JLabel;
publicclassS2extendsJPanelimplementsActionListener{
JTextFieldgrade;
JTextAreajtx;
JButtonjb1;
JButtonjb2;
JTextFieldans;
JButtonjb3;
Stringds;
JLabeljl;
JLabeljl1;
intnp[]=newint[200];
intp;
intcount;
StringmyAns[]=newString[1000];
StringtrueAns[]=newString[1000];
inttscore[]=newint[1000];
intmyscore=0;
intw;
JButtonend;
S2(){
try{
np=newget_test_number().readnumber(S1.choose);
count=np.length;
}catch(Exceptione){
//TODO:
handleexception
}
try{
p=0;
StringBufferbuf=newClobDemo02().readcontent(np[p]);
ds=newString(buf);
}catch(Exceptione){
//TODO:
handleexception
}
grade=newJTextField();
grade.setEditable(false);
end=newJButton("交卷");
jtx=newJTextArea(ds);
jtx.setSize(400,500);
jtx.setEditable(false);
jl=newJLabel("答案:
");//增加2
jl1=newJLabel("分数:
");//增加1
jb1=newJButton("上一题");
jb2=newJButton("下一题");
jb3=newJButton("提交");/////////改一下位置
ans=newJTextField(50);
jtx.setLineWrap(true);
this.setLayout(null);
jl1.setBounds(400,100,50,30);//改动3
grade.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,30);
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);
this.add(end);
this.add(grade);
}
voiddisplay(){
JFrameframe=newJFrame("答题页面");
frame.setLocationRelativeTo(null);
frame.add(this);
frame.setVisible(true);
frame.setSize(600,500);//改动4
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jb1){
if(p>0){
try{
p--;
StringBufferbuf=newClobDemo02().readcontent(np[p]);
ds=newString(buf);
jtx.setText(ds);
}catch(Exceptionew){
//TODO:
handleexception
}
}
}else
if(e.getSource()==jb2){
p+=1;
if(p<5){
try{
StringBufferbuf=newClobDemo02().readcontent(np[p]);
ds=newString(buf);
//System.out.println(ds);
jtx.setText(ds);
}catch(Exceptionew){
//TODO:
handleexception
}
}else
{
JOptionPane.showMessageDialog(null,"题已经答完应该交卷了");
}
}else
if(e.getSource()==jb3){
Stringf=ans.getText();
myAns[p]=f;
ans.setText("");
}else
if(e.getSource()==end){
System.out.println("hello"+count);
try{
/*java.util.Datenows=newjava.util.Date();
inthh=nows.getHours();
intmm=nows.getMinutes();
intlk=hh*60+mm;
Stringti=newread_test_time().readtesttime(S1.choose);
Stringhh1=ti.substring(0,3);
Stringmm1=ti.substring(4,7);
intrt1=newInteger(hh1.charAt(0))*10+newInteger(hh1.charAt
(1));
intrt2=newInteger(hh1.charAt
(2))*10+newInteger(hh1.charAt(3));
intrt=(rt1)*60+rt2+3;*/
//if(lk>rt){
ClobDemo04da=newClobDemo04();
ClobDemo03db=newClobDemo03();
for(inti=0;i trueAns[i]=da.readanswer(np[i]); tscore[i]=db.readscore(np[i]); } for(inti=0;i System.out.println(trueAns[i]); System.out.println(tscore[i]); } myscore=0; for(inti=0;i if(trueAns[i].equals(myAns[i])){ myscore+=tscore[i]; } } Stringsr=""+myscore; grade.setText(sr); System.out.println("我的成绩: "+myscore); Stringsd=newRead_S_name().readname(newInteger(S1.login)); System.out.println(sd); newS_record().intsert_s_record(newInteger(S1.login),sd,myscore); //}else{ //JOptionPane.showMessageDialog(null,"现在不能交卷"); //} // }catch(Exceptioner){ //TODO: handleexception } } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java课程设计报告 副本 java 课程设计 报告