Amy-ya

导航

算术运算测试与猜数字游戏

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)

渲染数据到控制台

正常,与预期结果一致

 

猜数字游戏主要是针对用户的操作,从测试结果可以看出该程序的所有功能均能正常实现,且测试结果与预期结果一致。

 结论和心得

通过这次个人项目的实训,虽然时间很短,但是这两天都使我收获很大,受益匪浅。我发现在写代码的过程中,我对于之前的知识点有所遗忘,所以在写代码的过程中我也在不断的复习,我对以前学过的知识点有了一个全新的认识,而且在实践能力上也得到了很大的提高,做到了学以致用、灵活改变。在写代码的过程中我也遇到了很多困难,在遇到困难的同时,我没有固步自封,而是询问了老师和同学的帮助,使我克服了这些困难,让我有了很大的进步,原来很多不懂的东西也都慢慢的了解了。所以在以后的学习中我也不会怕失败,要尽自己的全力,做好每一个程序的代码编写,我也会继续对以前学过的知识不断的回顾,让自己的知识更加的牢固。而且我也会多学习和收集与知识相关的资料,多去看一些各大论坛和平台来提高自己的水平,使其他人的经验能够对自己起到借鉴的作用。

最后谢谢老师和同学们的帮助!

 

 

posted on 2020-06-25 19:49  Amy-ya  阅读(453)  评论(0编辑  收藏  举报