加载《选题-标准化试题训练系统》成功,点击此处阅读
首页 →文档下载

选题-标准化试题训练系统

以下为《选题-标准化试题训练系统》的无排版文字预览,完整内容请下载

第5章 标准化试题训练系统 5.1 设计要求 设计 GUI 界面的标准化试题训练系统。具体要求如下: ① 使用 Microsoft Excel 工作簿存放标准化试题,形成题库。 ② 程序每次从题库随机抽取若干道题目形成一张试卷,用户可以依次做试卷上的题目, 允许用户向前、向后翻阅试卷上的题目。 ③ 用户每次做完一个题目必须确定该题目的答案,否则无效。 ④ 有计时功能,比如指定一张试卷限用时 15 分钟,时间一到用户再无法答题,提示用 户提交试卷。 ⑤ 用户一旦提交试卷,程序将给出试卷的分值。 ⑥ 为了达到反复训练的目的,用户提交试卷后可以继续让程序再出一套试卷。 程序运行的参考效果图如图 5.1 所示。 图 5.1 标准化试题训练系统 注意 我们按照 MVC-Model View Control(模型,视图,控制器)的设计思想展开程 序的设计和代码的编写。数据模型部分相当于 MVC 中的 Model 角色,视图设计部分给出 的界面部分相当于 MVC 中的 View,视图设计部分给出的事件监视器相当于 MVC 中的 Control。 5.2 数据模型 根据系统设计要求在数据模型部分设计了 Excel 表,编写了有关的类。 • 创建 Excel 工作簿。 103 Java 课程设计 第 3 版 • Problem 类:其实例是一道试题。 • TestPaper 类:其实例是一张试卷。 • GiveTestPaper 接口:封装给出试卷方法。 • RamdomInitTestPaper 类:实现 GiveTestPaper 接口,其实例负责随机从题库抽取题目 给出试卷。 • Teacher 接口:封装阅卷方法。 • TeacherOne 类:实现 Teacher 接口,其实例负责阅卷。 数据模型部分涉及的主要类的 UML 图如图 5.2 所示。 图 5.2 主要类的 UML 图 1 Excel 工作簿 Excel 工作簿在存储数据方面有着广泛的应用(它不是数据库),其中的 Sheet 表的结构 和数据库中的表类似。JDBC 没有提供操作 Excel 工作簿的 API。为了操作 Excel 工作簿,需 要额外下载操作 Excel 的 API。 1)下载 Excel API 用户可以搜索 Excel API 得到一个 Excel API 的下载地址,比如: http://download.csdn.net/download/sparkthink/*** 然后将下载的 jexcelapi_2_6_6.zip(版本号及名字略有差异,有些下载网址的下载名称是 jxls-2.3.0)解压缩到本地,则根目录下的 jxl.jar 文件就是操作 Excel 所需要的 API 的 JAR 文 件(不要解压缩该文件),根目录下的其他文件主要是 Excel API 的帮助文档。将 jxl.jar 复制 到 Java 运行环境的扩展中,即将这个 JAR 文件 jxl.jar 存放在 JDK 安装目录的“\jre\lib\ext” 中,比如“E:\jdk1.8\jre\lib\ext”。在安装 JDK 时还额外有一个 JRE,比如默认安装在“C:\Program Files (x86)\Java\ jre1.8.0_45 ”。 将 jxl.jar 文 件 也 复 制 到 “ C:\Program Files (x86)\Java\ jre1.8.0_45\lib\ext”中。 注意 可以到作者的网盘“http://pan.baidu.com/s/1qYCv0ra”下载 jexcelapi_2_6_6.zip。 2)存储试题的 Sheet 表 在标准化试题训练系统中,按照要求需要使用 Excel 工作簿中的 Sheet 表存储试题,即 Excel 工作簿中的 Sheet 表充当题库的角色。Excel 中 Sheet 表的结构对代码的编写是十分重要 104 第 5 章 标准化试题训练系统 的,比如列的数目以及顺序,因为后续的某些代码依赖于这些结构,即某些代码会和 Sheet 表的结构形成紧耦合关系,因此,Sheet 表的结构一旦更改,必然引起代码的修改。对 Excel 中 Sheet 表的结构要求如下: Sheet 表一共 7 列(A、B、C、D、E、F、G),各列的取值规则如下(不可再改变其取 值规则)。 • A 列:试题内容。例如“这个标志是何某某?” • B 列:正确答案。试题的正确答案只可以是 A、B、C、D 字母的组合(不区分大小 写),例如 B、ABC、C、D。 • C 列:选择项目。例如“A.沿左侧车道掉头”。 • D 列:选择项目。例如“B.该路口不能掉头”。 • E 列:选择项目。例如“C.选择中间车道掉头”。 • F 列:选择项目。例如“D.多股铁路与道路相交”。 • G 列:题目类型。题目的类型只可以是“p”“x”“p#图像文件名字”或“x#图像文件 名字”(字母 p、x 不区分大小写),例如 x#hello.jpg、p#java001.jpg。类型 p 表示试题 类型是判断题,类型 x 表示试题类型是选择题,类型 p#表示试题类型是判断题并带 有图像,x#表示试题类型是选择题并带有图像。 • Excel 中 Sheet 表的第一行不是试题,是试题的说明,说明文字可任意给定。 根据设计要求打开 Microsoft Excel 设计了 Excel 工作簿以及其中的第一张 Sheet 表(在 Excel 工作簿中是 Sheet1 表)——交通理论.xls,Sheet1 表结构如图 5.3 所示。 图 5.3 Excel 中的 Sheet 表的结构 下载的操作 Excel 表的 API 要求 Excel 工作簿必须是扩展名为.xls 的 Excel 文件,因此在 用 Microsoft Excel 保存 Excel 工作簿时需要把保存类型选择为“Excel 97-2003 工作簿 (*.xls)”。 3)题库与图像管理 需要建立一个名字是“题库”的文件夹,存放 Excel 工作簿,以及名字是“图像管理” 的文件夹,存放所需要的图像文件。文件夹的位置需要和程序在同级目录中。比如,程序中 的包名目录是“ch5\gui”,“ch5\gui”目录的上一层目录是 D:\,那么“题库”文件夹和“图 像管理”文件夹必须存放在 D:\下,即保持和 ch5 是同级。 为了便于软件的管理以及编写,对于不需要图像的试题,程序统一用默认的图像,该默 认图像的名字固定为 havenot.jpg。另外,程序还需要一个名字是 renew.jpg 的图像,当用户重 新选择试卷时用该图像友好地提示用户,因此必须将 havenot.jpg 和 renew.jpg 图像保存到“图 像管理”文件夹中(图像的外观可自己指定)。havenot.jpg 和 renew.jpg 图像如图 5.4 所示。 105 Java 课程设计 第 3 版 图 5.4 havenot.jpg 和 renew.jpg 2 试题与试卷 1)Problem 类 Sheet 表中的一行数据是一道试题。用 Problem 类来封装 Sheet 表的基本结构,即试题, 这对于后续代码的设计是非常有利的。下列 Problem 类封装表结构,其实例是一道试题。 Problem.java package ch5.data; public class Problem { boolean isChoice; //是否为选择题 boolean isJudge; //是否为判断题 String content; //题目内容 String giveChoiceA,giveChoiceB,giveChoiceC,giveChoiceD;//提供选择 String imageName; //题目所带的图像文件的名字 String correctAnswer="QWEQ@#$@!@#1QWEQ"; //题目的正确答案 //用户回答的初始答案和 correctAnswer 不同,防止出题人忘记给正确答案 String userAnswer ="" ; //初始值必须是不含任何字符的串 public boolean getIsChoice() { return isChoice; } public void setIsChoice(boolean b) { isChoice = b; } public boolean getIsJudge() { return isJudge; } public void setIsJudge(boolean b) { isJudge = b; } public void setContent(String c) { content = c; } public String getContent() { return content; } public void setCorrectAnswer(String a) { correctAnswer = a; } public String getCorrectAnswer() { 106 第 5 章 标准化试题训练系统 return correctAnswer; } public void setUserAnswer(String u) { userAnswer = u; } public String getUserAnswer() { return userAnswer; } public void setGiveChoiceA(String a) { giveChoiceA = a; } public String getGiveChoiceA() { return giveChoiceA; } public void setGiveChoiceB(String b) { giveChoiceB = b; } public String getGiveChoiceB() { return giveChoiceB; } public void setGiveChoiceC(String c) { giveChoiceC = c; } public String getGiveChoiceC() { return giveChoiceC; } public void setGiveChoiceD(String d) { giveChoiceD = d; } public String getGiveChoiceD() { return giveChoiceD; } public void setImageName(String c) { imageName = c; } public String getImageName() { return imageName; } } 2)TestPaper 类 训练时需要从题库获得若干个试题,即用若干个试题组成一张试卷,这里用 TestPaper 类封装试卷,即该类的实例就是一张试卷。 TestPaper.java package ch5.data; 107 Java 课程设计 第 3 版 public class TestPaper { //试卷 private Problem [] problem=null;//数组的每个单元存放一道试题(一个 Problem 对象) int index = -1; String problemSource ; //试卷的题库 public void setProblem(Problem [] problem){ this.problem = problem; } public Problem getProblem(int i) { if(problem == null) { return null; } if(problem.length==0){ return null; } if(i>=problem.length||i请点击下方选择您需要的文档下载。

  1. GB38900-2020基础知识考核试题
  2. 高尔夫理论试题
  3. 公司复评换证工作汇报
  4. 《工贸行业企业安全生产标准化建设建设实施指南》(安委办〔2012〕28号).
  5. 扛着党旗创市场 戴着党徽争出彩,非公企业党建标准化引领企业高质量发展的“圆方之路”
  6. 看图写话训练教案
  7. 省住房城乡建设厅关于印发《XX省推进 工程质量管理标准化工作方案》的通知
  8. 小学足球校队建设计划与方案
  9. 初中体育教师个人工作总结
  10. 初中田径队训练计划
  11. 中小学新任教师公开招聘考试体育与健康考试大纲
  12. 暑期足球队训练计划
  13. 六年级语文试卷分析
  14. 在课堂中加强对听力的训练
  15. 财政试题期末测试-2019-2020.2
  16. 在课堂中加强对听力的训练
  17. 试卷2021年安检新标准GB38900培训试卷
  18. 第三届“传智杯”全国大学生 IT 技能大赛 初赛试题
  19. 身体健康训练计划

以上为《选题-标准化试题训练系统》的无排版文字预览,完整内容请下载

选题-标准化试题训练系统由用户“xxx61941973mbb”分享发布,转载请注明出处
XXXXX猜你喜欢
回顶部 | 首页 | 电脑版 | 举报反馈 更新时间2021-02-14 05:55:54
if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/66/21/29983.html'}ipt>if(location.host!='wap.kao110.com'){location.href='http://wap.kao110.com/html/66/21/29983.html'}ipt>