Java课程设计标准化考试系统doc.docx
- 文档编号:1820750
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:11
- 大小:52.26KB
Java课程设计标准化考试系统doc.docx
《Java课程设计标准化考试系统doc.docx》由会员分享,可在线阅读,更多相关《Java课程设计标准化考试系统doc.docx(11页珍藏版)》请在冰点文库上搜索。
Java课程设计标准化考试系统doc
面向对象课程设计
标准化考试系统
数学与信息工程学院
计算机科学与技术
、需求分析
二、系统运行环境
三、功能需求描述
四、总体设计
五、程序模块设计
六、使用效果图
七、总结
一、需求分析
要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。
本系统从以下三个方面对用户需求进行了分析:
1)用户的信息需求:
考生能查询有关考试成绩;系统管理员能查询题库信息;系主要领导都能查询所有信息。
2)用户的处理要求:
管理员能对题库和考试科目执行增加、删除和修改操作;由管理员设置考试信息,经过考试主管领导的审核后就可考试;在考试时,由考生选择试题;系统控制考试时间、考试成绩IH动生成等。
3)对系统的适应性、通用性要求:
要求系统不仅能够进行计算机系考试,而旦其他系或专业稍作设置或改动也能使用本系统进行标准化网络考试。
二、系统运行环境
WindowsXPSP3以及Eclipse2007
三、功能需求描述
本系统可以进行任何标准化考试,具有选择试题、查看得分、考试计时等功能。
四、总体设计
本标准化考试系统共由3个java源文件和若干个试题组成,试题文件为文本文件,文件名字可任意指定,但扩展名必须是txt,文件内容必须遵守如下的书写规则:
1)试题文件的第一行是全部试题的答案,答案之间不可以有空格。
2)第二行是试题文件的考试时间,如1:
23:
45表示的考试时间是1小时23分45秒。
3)每道题目之间用“**”开头的字符申分割。
4)最后一,行是end
Test,java
该java文件生成的类负责创建标准化考试的主窗口。
该类含有main方法,程
序从该类开始执行,程序从该类开始执行。
在主窗口,用户可以通过下拉列表选
择一套试题,然后开始读取试题进行考试。
TestArea.java
该文件生成的类负责创建考试区域对象。
是Test窗口中的主要成员变量,考试区域提供了试题选取、查看分数、计时器、试题显示等功能。
ReadTestquestion.java
ReadTestquestion对象是TestArea试题区中的重要对象,负责读取该试题、计算分数等。
图类之间的依赖关系
五、程序模块设计
—*、主类Test
importjava.awt.*;
importjava.avvt.event.*;
importjavax.swing.*;
publicclassTestextendsJFrame{
TestAreatestPanel=null;
Containercon=null;
publicTest()
super。
'标准化考试系统,testPanel=newTestArea();
con=getContentPane();
con.add(testPanel,BorderLayout.CENTER);
addWindo\vListener(newWindowAdapter()
(publicvoidwindowClosing(WindowEvente)
{System.exit(O);
}
});
setVisible(true);
setBounds(60,40,660,460);
con.validate();
validateQ;
)
publicstaticvoidmain(Stringargs[])
(
newTest();
一、读取试题ReadTestquestionI.成员变量
描述
变量类型
名称
文件名
String
filename
正确答案
String
correctAnswer
试题内容
String
testContent
用户提交的答案
String
selection
用户得分
int
score
试题用时
long
time
读取试题的流
FileReader
in
2.方法
名称
功能
备注
setFilename
设置试题文件的名称
getFilename
获取试题文件的名称
gettime
获取考试用时
set完成考试
设置是否完成考试
get完成考试
判断是否完成考试
getTestContent
获取试题内容
getSelection
排列用户提交的答案
getScore
计算用户得分
getMessage
查阅分数和正确答案
3.代码
importjava.io.*;
importjava.utiI.*;
publicclassReadTestquestion
(Stringfilename="",correctAnswer="",testContent="M,selection="";
intscore=0;
longtinie=0;
boolean完成考试=false;
Filef=null;
FileReaderin=null;
BufferedReader读取mull;
〃存放考题文件名字的字符串
〃存放正确答案的字符串
〃试题内容
〃存放用户提交的答案
//用户的得分
〃该试题的考试用时
〃判断是否已完成全部试题
publicvoidsetFilename(Stringname)(filename=name;
score=();
selection=H";
try(
if(in!
=null&&读取!
=null)
{
in.close();〃关闭与前一文件的连接
读取.close。
;
}
f=newFile(filename);
in=newFileReader(f);
读取=newBufferedReader(in);〃读取试题文件的第1行,即标准
答案
correctAnswer=(读取.readLine()).trim();〃去掉前后空格
Stringtemp=(读取,readLine()).trim();〃读取试题文件的第2行,即考试用时
〃获取用时的“时”值
〃获取用时的“分”值
〃获取用时的“秒”值
〃将用时转换成
StringTokenizertoken=newStringTokenizer(temp,":
");
inthour=Integer.parse!
nt(token.nextToken());
intminute=Integer.parseInt(token.nextToken());
intsecond=Integer.parseInt(token.nextToken());
time=1000*(second+minute*60+hour*60*60);
亳秒单位
catch(Exceptione)
(
testContent="没有选择试题”;
publicStringgetFilename()
returnfilename;
publiclonggetTime()
returntime;
publicvoidset完成考试(booleanb)
完成考试=匕
1
publicbooleanget完成考试()
(
return完成考试;
}
publicStringgetTestContent()〃获取试题的内容
(try(
Strings=null;
StringBuffertemp=newStringBuffer();
if(读取!
=null)〃如果用户选择了试题文件,读取就
不是空对象
while((s=读取.readLine())!
=null)〃继续读取某个试题
(
if(s.startsWith(M**n))〃试题的结束标志break;
temp.append(,r\nf,+s);
in.close();
〃关闭和当前文件的连接
if(s.startsWith(Mend"))〃整个试题文件的结束标志
读取.close。
;
完成考试=true;〃已完成全部试题
testContent=newString(temp);
else
testContent=nevvString(n没有选择试题”);
catch(Exceptione)
testContent=n试题内容为空,考试结束!
!
returntestContent;
publicvoidsetSelection(Strings)
(selection=selection+s;〃用户提交的答案依次尾加到selection
}
publicintgetScore()
(score=0;
intlengthl=selection.length();//用户提交的第i题答案在selection中的位置
intlength2=correctAnswer.length();
intmin=Math.min(length1,length2);
for(inti=0;ivmin;i++)
(try(
if(selection.charAt(i)==correctAnswer.charAt(i))
score++;}
catch(StringIndexOutOfBoundsExceptione)
(i=0;
}
}
returnscore;
}
publicStringgetMessages()
(
intlength1=selection.length();〃用户已提交的答案个数
intlength2=correctAnswer.length();
intlength=Math.min(length1,length2);
Stringmessage、'正确答案:
n+correctAnswer.substring(0,length)+"\n"+
“你的回答:
,+selection+,,\n,r;
returnmessage;J7
六、使用效果图
七、总结
Java课程设计是和室友一起完成的,在答辩前一天的时候,代码运行并没有想象中的结果,两人一起去分析,但还是无劳。
后来根据自己应有的能力,更换了题目,虽然还是遇见了很多的问题,读取不到考题文件,在认真分析检在代码,找出错误来,最后在答辩前顺利完成,但程序并不是自己所而是在网上查找过来,但在此课程设计中,学到了很多,也同时巩固了JAVA的知识,在今年还有这门课程,会花时间在此上面,努力做好!
!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 标准化 考试 系统 doc