课 程 设 计 报 告
课程名称 JAVA程序设计
课题名称 小学生数学练习题目自动生成系统
专 业 信息管理与信息系统
班 级
学 号
姓 名
指导教师 李峰、谢雅、赵锦元
2016年 7 月 2 日
湖南工程学院
课 程 设 计 任 务 书
课程名称 JAVA程序设计
课 题 小学生数学练习题目自动生成系统
专业班级
学生姓名
学 号
指导老师 李峰、谢雅、赵锦元
审 批
任务书下达日期 2016 年 6 月 14 日
任务完成日期 2016 年7 月 2 日
一、设计内容与设计要求
1.课程设计目的
全面熟悉、掌握JAVA程序设计基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及JAVA程序设计的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效
,进一步提高上机动手能力,增强JAVA程序设计概念,熟悉java语言编程,养成提供文档资料的习惯和
编程的思想,为后继课程的实验以及课程设计打下较扎实的基础。
进一步提高上机动手能力,培养使用计算机解决实际问题的能力,为后继课程的实验以及课程设计,特别是自学、毕业论文的完成打下扎实的基础。
2.课题题目
⑴计算器
⑵简单投票管理系统
⑶小学生数学练习题目自动生成系统
⑷电子英汉词典
⑸
化考试系统
[6] Hannoi塔
3.设计要求
⑴设计课题题目:按学号顺序(每10位学生选择一题)选择相应题号的课题。换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。③完成系统详细设计:包括需求分析;类层次图;界面设计与各功能模块实现。④系统调试:调试出现的主要问题,编译语法错误及修改,
重点是运行逻辑问题修改和调整。⑤使用
书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。⑥关键源程序(带注释)
⑶按规定格式完成课程设计报告(源代码),将其打印稿(A4纸)上交给老师存档。
⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。
二、进度安排
第17周 星期二 下午 14:30-18:30
星期五 下午 14:30-18:30
星期六 下午14:30-18:30
星期日 下午14:30-18:30
第18周 周一上午 8:00-12:00 下午14:30-18:30
目 录
1需求分析 1
1.1系统设计题目 1
1.2目的与要求 1
2总体设计 2
2.1 用户信息模板 2
2.2 题目信息模块 2
2.3 选题情况信息模块 2
2.4 答题信息模块 2
3详细设计 3
3.1系统E-R图 3
3.2 数据类型 3
3.3功能模块实现 4
3.4 java源文件及其方法 4
3.5 主要组件设计 4
3.6 类的设计 5
4.调试及运行结果 5
4.1 10以内的加减法测试. 5
4.2 100以内乘除法测试 6
4.3完成测试 6
5
8
6参考文献 9
7附录 10
7.1源代码 10
8评分表 30
1需求分析
1.1系统设计题目
小学生数学练习题目自动生成系统
1.2目的与要求
(1)设计要求
编写一个能够自动生成小学生数学练习题目的程序。设计一个程序,能够根据用户的选择生成“10以内加法”、“10以内减法”、“20以内加法”、“20以内减法”、“100以内加法”、“100以内减法”、“100以内乘法”、“100以内除法”8种类型的题目,要求每个题目能够随机生成,并符合以下要求:
10以内加法的得数在不大于10的范围内;
20以内加法的得数在不大于20的范围内;
100以内加法的得数在不大于100的范围内;
10以内减法的两个运算数在不大于10的范围内并且差为非负数;
20以内减法的两个运算数在不大于20的范围内并且差为非负数;
100以内减法的两个运算数在不大于100的范围内并且差为非负数;
100以内乘法的得数在不大于100的范围内;
100以内除法的两个运算数在不大于100的范围内并且被除数应该是除数的整数倍;
要求程序具备以下功能:根据用户对“题目类型”的选择,在按下“出题”按钮之后,每次显示20个相应类型的题目,用户可以在界面上填写计算结果;答题完成之后,当用户按下“评卷”按钮时,根据用户的答题结果,在界面上可以显示红色的“√”或“╳”符号,以作为对用户的答题结果的评判。当用户按下“答案”按钮时,在界面上显示正确的运算结果。
(2)输入/输出要求
输入要求:用户能够在界面上输入题目的计算结果;
输出要求:程序可以在界面上显示20个用户所需的类型的题目,以红色的“√”或“╳”
符号显示对用户计算结果的评判结果,以及所给出的题目的正确答案。
2总体设计
小学生数学练习题目自动生成系统主要包括用户信息、题目信息、选题情况信息、答题信息、历史成绩信息五个功能模块。
2.1 用户信息模板
用户信息模块主要包括用户的信息以及用户的实施操作。用户信息模块包括:用户姓名,用户编号,所属班级,用户性别,联系电话,家庭住址等相关信息。
用户的实施操作:用户可以通过其包含的相关信息,与其他模块进行连接,可以在此系统中依次的进行题型选择,用户答题,显示正确答案以及记录历史答题信息等功能。
2.2 题目信息模块
题目信息模块主要实现对数学练习题目信息的管理记录。题目信息模块主要包括:题目编号,甲空,题目题型,乙空,正确结果等相关信息。
2.3 选题情况信息模块
选题情况信息模块主要实现对所具有的题目项目进行管理记录,根据对用户的基础信息和题目信息的相应连接可以实现不同用户对题型的选择,从而可以形成不同的题型,生成相对应的试卷。选题情况信息模块主要包括:用户编号,题目题型,题目编号等相关信息。
2.4 答题信息模块
答题信息模块主要是为了实现与选题情况信息进行对接,根据实现后的答题信息可以直接录入到系统中进行记录。答题信息模块主要包括:用户编号,题目题型,题目编号,所填答案等相
3详细设计
3.1系统E-R图
图3.1 系统E-R图
3.2 数据类型
public JLabel jlQuestion1;//题目标题
public JLabel jlQuestion2;//题目内容
public JLabel jlAnswer;//答案标题
public JLabel jlW;//题号
public JLabel jlT;//正确数
public JButton jbStart;//开始游戏
public JButton jbEnd;//停止游戏
public JButton jbExit;//退出游戏
public JTextField jtfAnswer;//输入答案
public int m,n,l,answer,trueAnswer,x,y=20,a=0,b=0;//随机数m、n,计数参数
public JRadioButton radioButton1;
public JRadioButton radioButton2;
public JRadioButton radioButton3;
public JRadioButton radioButton4;
public JRadioButton radioButton5;
public JRadioButton radioButton6;
public ButtonGroup group1;
public ButtonGroup group2;
3.3功能模块实现
(1)符号模块:
符号选择只能有一个符号,所以选择单选按钮来实现符号选择功能,先建立一个标签为符号选择标签。然后建立四个单选按钮,并用group方法实现其单选功能。最后注册监听器,用ItemListener监听器实现。
(2)运算范围选择模块: