面向对象程序设计(JAVA)课程设计说明书
学院名称:
班级名称:
题 目:
计算机与信息工程学院
2016 级计算机科学与技术
小学算术运算测试程序
面向对象程序设计(JAVA)课程设计任务书
学
院
计算机与信息工程学院
专 业 2016 级计算机科学与技术
课程名称
完成期限
面向对象程序设计(JAVA) 题 目 小学算术运算测试程序
2018 年 01 月 02 日至 2018 年 01 月 08 日共 1 周
一、项目的目的
1.加深学生对面向对象程序设计(Java)课程基本知识的理
解,综合应用所学的知识,独立完成一个以面向对象程序设计应用
为课题的设计;
2.根据问题需要,通过查阅手册和文献资料,培养分析和解
决实际问题的能力;
3.灵活运用类、对象、输入输出流、GUI、多线程、数据库编
程等相关知识编写程序。
二、项目任务的主要内容和要求
内
容
及
任
务
主要内容:编写一个可供小学数学运算的程序:可选择题目难度,
并根据选择的难度分配加、减、乘、除法的题目,能根据输入题数
并分配分值(总分 100),判断做题是否正确,最后计算分数。
要求:1、编写图形化界面,每组 4 人,分工独立完成;
2、能够按照要求完成系统设计并撰写课程设计报告。
三、项目设计思路
题目要求设计一个可以自动出题(算数运算)的测试程序,首
先需要明确该系统的功能:选择题目难度、选择题数、依据题数自
动分配分值、自动出题、评卷并给出答对题数和总得分;接着根据
功能设计图形化界面:选择题目难度界面、试卷界面和评分界面;
然后结合功能和图形化界面编写代码,进行测试,不断完善代码;
最后得到我们所需要的测试程序。
四、具体成果形式和要求
程序和课程设计文档
起止日期
2018 年 01 月 02 日至
2018 年 01 月 02 日
2018 年 01 月 03 日至
2018 年 01 月 04 日
2018 年 01 月 05 日至
2018 年 01 月 06 日
2018 年 01 月 07 日至
2018 年 01 月 08 日
工作内容
需求分析
系统设计,根据前期的需求分析结果
设计各个功能模块
编码,调试和测试程序
撰写课程设计报告,进行答辩
[1] 赵生慧.Java 面向对象程序设计(第二版)[M].北京:中国水利水电出版
社,2013.
[2]毕广吉.Java 程序设计实例教程[M].北京:冶金工业出版社,2007.
[3]王保罗.Java 面向对象程序设计[M].北京:清华大学出版社,2003.
[4]高林,周海燕.JSP 网上书店系统与案例分析[M].北京:人民邮电出版
社,2004.
进
度
安
排
主
要
参
考
资
料
指导教
师
意见
系(教
研室)主任
意见
(签字):
年 月 日
(签字): 年 月 日
目 录
摘要 ....................................................................................................................................................1
1.引言 ................................................................................................................................................1
1.1 选题背景 ..................................................................................................................1
1.2 选题意义 .................................................................................................................1
1.3 主要内容及分工 .......................................................................................................1
1.4 组织结构 ............................................................................................................................ 2
2.需求分析 ....................................................................................................................................... 2
2.1 系统流程图........................................................................................................................ 2
2.2 系统功能图........................................................................................................................ 3
3. 系统设计 ..................................................................................................................................... 3
3.1 类的设计 ............................................................................................................................ 4
3.2 功能模块设计 .................................................................................................................... 4
3.2.1 用户选择信息模块 ................................................................................................ 4
3.2.2 题目信息模块 ........................................................................................................ 4
3.2.3 答案信息模块 ........................................................................................................ 4
3.2.4 成绩信息模块 ........................................................................................................ 4
4.编码 ................................................................................................................................................4
4.1 导入相关包和类................................................................................................................ 4
4.1.1 包 ............................................................................................................................ 4
4.1.2 类 ............................................................................................................................ 5
4.2 各模块代码........................................................................................................................ 5
4.2.1 用户选择信息模块 ................................................................................................ 5
4.2.2 题目信息模块 ........................................................................................................ 6
4.2.3 答案信息模块 ........................................................................................................ 8
4.2.4 成绩信息模块 ........................................................................................................ 9
5.测试结果 ..................................................................................................................................... 10
5.1 用户选择信息模块 .......................................................................................................... 10
5.2 题目信息模块 .................................................................................................................. 12
5.3 答案信息模块 .................................................................................................................. 13
5.4 成绩信息模块 .................................................................................................................. 14
6. 结束语 ....................................................................................................................................... 15
附录 ..................................................................................................................................................15
参考文献 ......................................................................................................................................... 15
致谢 ..................................................................................................................................................15
摘要
本文使用了 Java 面向对象程序设计语言实现了一个小学算数运算的测试程序。该程序
的主要功能是根据用户的需求,自定义试卷的题目难度和题目数量,试卷总分 100 分,根
据题数自动分配每题分值,提交评卷后给出答对题数和总得分。测试结果表明该程序运行
正常。
1.引言
1.1 选题背景
计算是数学知识中的重要内容之一,数学计算能力是一项基本的数学能力,计算能力
是学习数学和其他学科的重要基础,因为在小学教材中计算教学所占的比重较大,学生计
算能力的高低直接影响着学生学习的质量,因为,数学中有些概念的引入需要通过计算来
进行;数学中解决实际问题的解题思路、步骤、结果也要通过计算来落实。因此,为了提
高孩子们的数学计算能力和速度,同时方便家长们能便捷地对孩子们进行准确的数学算术
测试,我们设计了这个简单的数学测试程序。
1.2 选题意义
对于使用者来说,该程序能根据输入题目数出题并分配分值(总分 100),可以随机抽
取在 10 以内的有关加、减、乘、除以及开方的数学题。并且,测试题有三种难度级别,家
长可以根据孩子的情况自行选择。最后能测试出孩子的得分并显示出正确答案。对于设计
者而言,该程序能够让我们全面熟悉、掌握 Java 程序设计基本知识,增强对不同的问题运
用和灵活选择合适的数据结构以及 Java 程序设计的本领[1]。熟悉编制和调试程序的技巧,
掌握分析结果的若干有效方法[2],进一步提高上机动手能力,增强 Java 程序设计概念[3],熟
悉 Java 语言编程,养成提供文档资料的习惯和规范编程的思想,为后继课程的实验以及课
程设计打下较扎实的基础。进一步提高上机动手能力,培养使用计算机解决实际问题的能
力,为后继课程的实验以及课程设计打下扎实的基础[4]。
1.3 主要内容及分工
本程序的主要功能:
(1)选择难度等级,分别为初级、中级、高级;
(2)输入题目个数;
1
(3)填写题目答案或选择重新出题;
(4)系统评卷,对的题目前打“*”并给出对的题数和总分;
(5)退出系统。
成员分工:
(1)XX:需求分析、测试结果记其他(文档),三种级别、评卷和重新出题的事件监
听器(代码);
(2)XX:结束语、附录、致谢(文档),用户选择信息及其界面(代码);
(3)XX:总体设计、编码(文档),答案的判断及其他(代码);
(4)XX:摘要、引言(文档);三种级别题目的随机产生(代码)。
1.4 组织结构
第一章:摘要,主要介绍了该报告的主体内容;
第二章:引言,主要介绍了选题背景和意义,主要内容及成员分工和组织结构;
第三章:需求分析,主要介绍了系统功能图和系统流程图;
第四章:总体设计,主要介绍了类的设计和功能模块设计;
第五章:编码,主要介绍了各个功能模块的具体实现代码;
第六章:测试结果,主要介绍了各个功能模块的测试结果;
第七章:结束语,主要介绍了对所有工作的总体概括。
2.需求分析
2.1 系统流程图
系统流程如图 2.1 所示,开始程序,并选择困难等级,输入题目个数,填写答案或重新出题,
评卷后结束。
选择难度等级
输入题目个数
填写题目答案
退
出
评
卷
图 2.1 小学算术运算测试系统流程图
2
2.2 系统功能图
系统功能图如图 2.2 所示,等级分为初级,中级,高级;输入题目个数;填写答案或重新出
题;评卷时对的题目前面标“*”,并给出对的题数和总分;结束系统。
初级
中级
高级
选择难度等级
输入题目个数
填写题目答案
重新出题
对的题目前面打“*”
给出对的题数和总分
评
卷
退
出
图 2.2 小学算术运算测试系统功能图
3.系统设计
分析题意,把小学算数运算测试系统拆分为四个模块,分别是用户选择信息,题目信
息,答题信息和成绩信息这四个功能模块。根据功能模块编写相应的代码进行测试达到需
求的结果。
3
3.1 类的设计
定义一个名为 Paper 的主类,在里面定义构造方法,还有监听器等组件。其次定义一个
计算中间容器 JiusuanPanel 类继承面板类的内容。,在里面添加容器,定义生成的算数和计
算方法,判断方法。
3.2 功能模块设计
3.2.1 用户选择信息模块
用户可以选择对应难度的题目,分初级,中级,高级。因为首先选择题目难度,只能
是单选,所以选择单选框按钮 JRadioButton,并用 Paper 方法实现其单选功能。最后注册监
听器 ActionListener。
3.2.2 题目信息模块
主要通过这个模块加上数组的功能实现根据输入题目数给出相应的题目,题目类型和
空 格 。 主 要 是 通 过 定 义 计 算 方 法 easy , middle , hardt 创 建 各 种 类 型 的 题 目 。 用
Math.Random()*a 生成随机数。在添加到计算中间容器 JisuanPanel。
3.2.3 答案信息模块
为了实现选题信息的对接,答题信息模块主要包括填写答案,对答案的判断和给出来
的答案。主要与题目信息模块共用一个类,在定义一个布尔类型方法 right 判断正确。通过
建立一个输入框,将答案输入,将获得的答案与正确的比较,在监听器方法中若结果相同
正确题数加 1。
3.2.4 成绩信息模块
在这个监听器接口实现方法进行,用 if 语句和 for 循环来实现选择题型答题后正确数的
累加,在对话框 actionPerformed 监听器事件方法中实现不同题目数的分值和总成绩的统计。
4.编码
4.1 导入相关包和类
4.1.1 包
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
4