算术运算测试与猜数字游戏
1 选题
选题一 |
算术运算测试 |
题目要求 |
|
实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。(添加排行榜功能存放到文件或数据库中) 能力要求:1. 沟通表达能力 2.资料搜集能力 3.自主学习能力 4. 时间规划能力 5.独立完成项目能力 6.文档撰写能力 7.面向对象编程思维和软件工程思想。
|
|
使用Java知识 |
|
Java基本输入输出、算数运算符、Java常用类、for循环、while循环、if判断语句、list集合、数据库基础知识、封装、Throws捕获异常 能力要求:1. 沟通表达能力 2.资料搜集能力 3.自主学习能力 4. 时间规划能力 5.独立完成项目能力 6.文档撰写能力 7.面向对象编程思维和软件工程思想。
|
|
选题二 |
猜数游戏 |
题目要求 |
|
计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语。保留用户测试成绩,做出成绩排行榜。排行榜存放到文件或数据库中。
|
|
使用Java知识 |
|
Java基本输入输出、for循环、while循环、if判断语句、变量、Java常用类、list集合、数据库基本知识、封装、Throws捕获异常
|
2 系统需求分析
2.1 系统可行性分析
一、算术运算测试
本程序运行的是IDEA编程软件,采用的Java语言。本课题设计主要运用的技术有两个:Java项目开发和MySQL对数据库的操作。Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。MySQL体积小、速度快、拥有成本低,开发源代码,免费,分布式光伏电站一站式服务平台前期因为平台规模比较小,同时为了减低成本,MySQL将是不错的数据库管理系统。
本程序用户可通过屏幕提示来完成100以内的加减法运算,屏幕提示简单易懂,所以操作上是可行的。
二、猜数字游戏
本程序运行的是IDEA编程软件,采用的Java语言。本课题设计主要运用的技术有两个:Java项目开发和MySQL对数据库的操作。Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。MySQL体积小、速度快、拥有成本低,开发源代码,免费,分布式光伏电站一站式服务平台前期因为平台规模比较小,同时为了减低成本,MySQL将是不错的数据库管理系统。
本程序用户可通过屏幕提示来完成100以内的猜数字游戏,本程序的屏幕提示简单易懂,并且所以操作上是可行的。
2.2 系统需求分析
一、算术运算测试
通过与老师的交流,本程序可以实现十道100以内加减法数学题,并且与键盘输入的答案进行对比,判断输入的答案是否正确,答对一题得一分,答错不得分,最后计算答对题目的总数和分数。随后屏幕提示是否查看排行榜,也可以数据库中查看成绩。本程序的功能图如图2-2-1所示。
图2-2-1 模块图
二、猜数字游戏
通过与老师的交流,本程序可以实现猜数字游戏,计算机首先会产生随机数,屏幕输入数字会提示猜测是否正确,猜对会直接提示猜的数字正确,猜错了则提示猜测大了还是小了,直至猜到为止,随后提示是否继续参与猜数字游戏,进行循环,选择结束游戏之后会给出游戏所用时间、猜的次数和评语的提示以及是否查看排行榜,最后也可以在数据库中查看成绩。本程序的功能图如图2-2-2所示。
图2-2-2 模块图
2.3 进度安排
阶段一进度安排如表2-1所示。
表2-1 进度安排表
阶段 |
持续时间 |
阶段描述 |
输出 |
构思阶段 |
2小时 |
需求分析 |
需求说明,功能模块图 |
设计阶段 |
3小时 |
系统设计 |
设计说明-可以画流程图;数据库设计 |
实现阶段 |
24小时 |
编写代码 |
项目工程源代码 |
3小时 |
系统测试 |
进行黑盒测试(功能测试)-测试说明 |
|
运行阶段 |
2小时 |
部署、运行 |
系统使用说明、运维报告、录制视频 |
3 系统设计
3.1 系统设计
一、算术运算测试
根据系统的实际功能需求分析,对系统功能部分进行了设计。
1. 信息录入模块,用Scanner对象实现用户键盘录入自己的姓名;
2. 测试题随机生成模块。用for循环实现10道测试题,用Random对象实现随机生成加减数并控制在100以内;
3.成绩得分模块,首先用if语句实现判断键盘录入数据的正误,答对得一分,答错不得分;
4.是否继续答题模块,用if语句和for循环实现是否答题,直到用户选择退出测试;
5.保存数据与排行榜模块,用sql语句实现数据的保存和查询排行榜来操作数据库,根据得分进行排序进行数据持久化;
6.查询排行功能模块,屏幕提示是否查询排行榜,如果是则调用查看数据的方法;
二、猜数字游戏
根据系统的实际功能需求分析,对系统功能部分进行了设计。
1.信息录入模块,用Scanner对象实现用户键盘录入自己的姓名;
2.随机数生成模块,用Random对象实现随机数的生成,并控制在0-100之间;
3.判断随机数模块,使用if判断语句、for循环语句,首先判断玩家进行键盘输入自己猜测的数字,随后判断是否输入了正确范围的随机数,输入直接退出游戏,输入在正确范围内判断数字与随机数是否相同,大了还是小了;
4.计时模块,在打开游戏时使用了System.currentTimeMillis()实现计时功能,直至玩家猜中数字后计时结束;
5.评语模块设计:如果玩家猜次数小于等于3,则提示您可真是个小机灵鬼!否则提示不要灰心呀!您已经很棒啦!
6.保存数据与排行榜模块,用sql语句实现数据的保存和查询排行榜来操作数据库,根据猜测的时间进行排序,进行数据持久化;
7. 查询排行功能模块,屏幕提示是否查询排行榜,如果是则调用查看数据的方法;
3.2 数据库设计
根据系统需求分析设计了2张表,分别为用户信息表、玩家信息表。具体信息如表3-1到表3-2所示。
表3-1 用户信息表
序号 |
字段名 |
数据类型 |
约束 |
是否为空 |
说明 |
1 |
id |
int(10) |
主键 |
否 |
用户ID |
2 |
name |
varchar(255) |
唯一 |
是 |
用户姓名 |
3 |
score |
int(10) |
|
否 |
用户成绩 |
表3-2 玩家信息表
序号 |
字段名 |
数据类型 |
约束 |
是否为空 |
说明 |
1 |
id |
int(10) |
主键 |
否 |
玩家ID |
2 |
name |
varchar(255) |
唯一 |
否 |
玩家姓名 |
3 |
hour |
int(10) |
|
否 |
游戏时间 |
4 系统实现
4.1 算数运算测试界面实现
4.1.1 用户通过屏幕提示输入姓名。如图4-1-1所示。
图4-1-1 用户输入姓名界面
4.1.2测试题的运算界面。如图4-1-2-1和图4-1-2-2所示。
图4-1-2-1 游戏界面
图4-1-2-2游戏界面
4.1.3查询排行榜功能界面的实现,如图4-1-3-1所示。
图4-1-3-1 查询排行榜功能
4.2 猜数字游戏界面实现
4.2.1 登录游戏界面,输入自己的游戏名称。如图4-2-1-1所示。
图4-2-1-1 玩家登录界面
4.2.2 猜数字游戏界面。如图4-2-2-1和图4-2-2-2所示。
图4-2-2-1 游戏界面
图4-2-2-2游戏界面
4.2.3查询排行榜界面。如图4-2-3-1所示。
图4-2-3-1排行榜界面
5 系统测试
5.1算数运算测试
在本程序中对输入姓名、随机生成测试题、成绩得分、是否继续答题、保存数据、查看排行榜等模块进行测试,测试结果如表5-1所示。
表5-1 算术运算测试模块测试表
编号 |
测试功能 |
输入描述 |
预期结果 |
运行结果 |
HP01 |
输入姓名 |
根据屏幕提示键盘录入自己的姓名 |
用户输入的姓名显示到屏幕上 |
正常,与预期结果一致 |
HP02 |
随机生成测试题 |
根据随机生成的测试题写出结果 |
测试题题目显示到屏幕上 |
正常,与预期结果一致 |
HP03 |
成绩得分 |
不输入 |
做完测试题自动显示成绩得分 |
正常,与预期结果一致 |
HP04 |
是否继续答题 |
根据屏幕提示(是:1/否:0) |
屏幕显示判断功能 |
正常,与预期结果一致 |
HP05 |
保存数据 |
不输入 |
数据库中有测试的信息 |
正常,与预期结果一致 |
HP06 |
查看排行榜 |
根据屏幕提示(是:Y/否:N) |
渲染数据到控制台 |
正常,与预期结果一致 |
算数运算测试主要是针对用户的操作,从测试结果可以看出该程序的所有功能均能正常实现,且测试结果与预期结果一致。
5.2猜数字游戏
在本程序中对输入玩家名称、判断随机数、判断随机数、游戏计时、评语、保存数据、查看排行榜等模块进行测试,测试结果如表5-2所示。
表5-2 猜数字游戏模块测试表
编号 |
测试功能 |
输入描述 |
预期结果 |
运行结果 |
HP01 |
输入玩家名称 |
根据屏幕提示键盘录入自己的游戏名称 |
用户输入的游戏名称显示到屏幕上 |
正常,与预期结果一致 |
HP02 |
生成随机数 |
不输入 |
系统内部产生随机数 |
正常,与预期结果一致 |
HP03 |
判断随机数 |
键盘录入猜测的数字与随机数比较 |
提示是否和随机数相同 |
正常,与预期结果一致 |
HP04 |
游戏计时 |
不输入 |
游戏结束显示使用时间 |
正常,与预期结果一致 |
HP05 |
评语 |
不输入 |
根据猜测次数输出相对应的评语 |
正常,与预期结果一致 |
HP06 |
保存数据 |
不输入 |
数据库中有测试的信息 |
正常,与预期结果一致 |
HP07 |
查看排行榜 |
根据屏幕提示(是:Y/否:N) |
渲染数据到控制台 |
正常,与预期结果一致 |
猜数字游戏主要是针对用户的操作,从测试结果可以看出该程序的所有功能均能正常实现,且测试结果与预期结果一致。
结论和心得
通过这次个人项目的实训,虽然时间很短,但是这两天都使我收获很大,受益匪浅。我发现在写代码的过程中,我对于之前的知识点有所遗忘,所以在写代码的过程中我也在不断的复习,我对以前学过的知识点有了一个全新的认识,而且在实践能力上也得到了很大的提高,做到了学以致用、灵活改变。在写代码的过程中我也遇到了很多困难,在遇到困难的同时,我没有固步自封,而是询问了老师和同学的帮助,使我克服了这些困难,让我有了很大的进步,原来很多不懂的东西也都慢慢的了解了。所以在以后的学习中我也不会怕失败,要尽自己的全力,做好每一个程序的代码编写,我也会继续对以前学过的知识不断的回顾,让自己的知识更加的牢固。而且我也会多学习和收集与知识相关的资料,多去看一些各大论坛和平台来提高自己的水平,使其他人的经验能够对自己起到借鉴的作用。
最后谢谢老师和同学们的帮助!