java实验—猜数字游戏

温柔似野鬼°
694次浏览
2021年01月01日 03:52
最佳经验
本文由作者推荐

f420-母爱伴我成长作文

2021年1月1日发(作者:吴仪)


户需求分析
1.玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。
2.对玩家输入的数字进行判断大小,如果不是系统要求的数字,系统将提示您,您输
入的不是 数字请重新输入,给出提醒以便玩家进一步选择。
3.玩家猜中时系统给出所用时间和游戏水平的判断,系统给出是否继续的提示及判断。
4.系统根据您猜数字的次数,自动计数.
5.直到用户猜到数字为止,提示信息是否继续猜 数字,如果继续将进入下一次游戏,如
果退出将退出游戏系统.
2 开发环境分析
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)
是对Eclipse IDE的扩展,利用它我们可 以在数据库和JavaEE的开发、发布,以及应用程
序服务器的整合方面极大的提高工作效率。它是功 能丰富的JavaEE集成开发环境,包括了
完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL,
Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1. JavaEE模型
2. WEB开发工具
3. EJB开发工具
4. 应用程序服务器的连接器
5. JavaEE项目部署服务
6. 数据库服务
7. MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclip se中都有相应的功能部件,并通过一系列的
插件来实现它们。MyEclipse结构上的这种模块化 ,可以让我们在不影响其他模块的情况下,
对任一模块进行单独的扩展和升级。
简单而言,M yEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,
支持代码 编写、配置、测试以及除错。
该程序基于JDK和MyEclipse编写,选用MyEclipse 是界面设计所需。根据系统范围
随机产生一个数字,可根据玩家选择给出不同的数字。玩家输入所猜数字 时给出与真实数字
的大小比较。在玩家猜中时,可给出其所用时间,并给出评价。最后,游戏的结束与继 续可
由玩家控制。


三、系统设计
3.1 系统总体设计
3.1.1 总体设计分析
1随机数的获取:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。
2 输入输出模块:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,
系统将提示您 ,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,
比随机生成数小.系统提 示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数
相比较,比随机生成数大.系统提示您 ,数字太大请您重新输入。
3 判断模块:算出所用时间在玩家猜中时给出其所用时间,系统给出对其 水平的判断和是否
继续的提示;对玩家要求判断执行。
4 自动计数模块:系统根据您猜数字的次数,自动计数.
5 结果输出模块:直到用户猜到数字为止,提 示信息是否继续猜数字,如果继续将进入下一
次游戏,如果退出将退出游戏系统.

3.1.2 程序结构
点击“获取随机数”按钮,系统获取到一个随机数。 玩家输入一个数 ,如果玩家输入
的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!”。如果玩家输入 的
数比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!”。 如果玩家猜对了数,
但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!”,并且会计算出玩家所
用的时间和所 猜的次数。如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,
猜对了!您真棒,智商真 高!”,并且会计算出玩家所用的时间和所猜的次数。
























恭喜您,


猜对了!
这么久才猜
出来,有点笨
猜对 输出“您猜的太大了,请继续猜”
若X输出“您猜的太小了,请继续猜”
若X>Y
系统产生一个随机数X
玩家输入一个在0~99范围内的数Y
开 始







图1 程序结构图
结 束
储存记录




3.2 功能模块设计
3.2.1 功能模块图
游戏分为随机数的获取,输入输出模块,判 断模块,自动计数模块,结果输出模块。其
中输入输出模块中系统会对玩家给出的数进行判断和输出。判 断模块会对玩家的水平进行判
断,并计算出玩家所用的时间和次数。



猜数游戏

















随机数
的获取

输入输
出 模

判断模

自动
计数
模 块
结果
输出
模 块
系统
玩家
出的
进行
断和










是否
继续
的选

图2 功能模块图


3.2.2 功能模块详细设计
1随机数的获取
功能描述:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。

2 输入输出模块
功能描述:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要 求的数字,
系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,
比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数
相比 较,比随机生成数大.系统提示您,数字太大请您重新输入。


输入输出模块
对玩家输入的数字进行
判断和提示
您输
入的
不是
数 字
您输
入的
太 小
您输
入的
太 大
猜对


图3 输入输出模块图

3 判断模块 功能描述:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是
否继续的提示 ;对玩家要求判断执行。

判断模块
时间计
算功 能
系统对
玩家的
水平做
出 判断
提示
玩家
是否
继 续

图4 判断模块图



4 自动计数模块
功能描述:系统根据您猜数字的次数,自动计数.


玩家猜数字,若猜错 计数器加1
图5 自动计数模块图


5 结果输出模块
功能描述:直到用户猜到数字为止,提示信息是否继续猜数 字,如果继续将进入下一次
游戏,如果退出将退出游戏系统.

3.3 类的设计
表1类的分类
类名

BorderLayout
Concurrent
数学中的随机数。
图形界面窗口的设计与调整
concurrent 在并发编程中很常用的实用工具类。

从用户的角度看,Java 源程序中的类分为两种:
系统定义的类:即 Java 类库,它是系统定义好的类。Java 语言由语法规则和类库两
部分组成,语法规则确定 Java 程序的书写规范;类库则提供了 Java 程序与运行它的系统
软件(Java 虚拟机)之间的接口。
用户自定义类:系统定义的类虽然实现了许多常见的功能,但是用户程序仍然需 要针对
特定问题的特定逻辑来定义自己的类。
在 Java 程序中,用户自定义类的一般格式如下:
class 类名
数据成员
成员方法
类的结构是由类说明和类体两部分组成的。
类的说明部分由关键字 class 与类名组成,类名的命名遵循 Java 标识符的定义规则。
类体是类声明中花括号所包括的全部内 容,它又是由数据成员(属性)和成员方法(方
法)两部分组成。
数据成员描述对象的属性; 成员方法则刻画对象的行为或动作,每一个成员方法确定一
个功能或操作。
首先搭建Java 程序框架。打开Eclipse,新建名为GuessNumberGame的项目,然后新
建名为Gu essNumber的Java类。GuessNumber加上合适的javadoc。
第一步:随机数的产生
我们可以借助Java API提供的Random类来产生一个随机数。
属性


首先在main函数中加入以下三行代码:
新建一个随机数产生器,然后生成一个1到100之间的整数。
num=(int)(()*100);
String answer;

Scanner input=new Scanner();
第二步:标准输入输出
标准输入输出(Standard IO)是指可以被应用程序使用的信息流。应用程序可以从标准
输入(Standard input)读取数据,向标准输出(Standard output)写数据,把出错信息发送
到标准错误(Standard error)。通过输入输出 ,应用程序和应用程序之间可以被串联起来使
用。虽然标准输入输出是从UNIX发展出来的概念,在W indows中也广泛应用。
猜数字游戏主要用到标准输入,更明确一些,就是控制台输入。相反,要 从控制台输入,
就需要用到。它是一个纯粹的输入流,而猜数字游戏主要是通过控制台获取玩家
的字符输入,我们需要把它包装成一个BufferedReader。
第三步:使用BorderLayout对图形界面的窗口进行设计。



















四、程序实现


4.1 程序流程图
点击“获取随机数”按钮,系统获取到一个随机数。 玩 家输入一个数,如果玩家输入
的数比系统给出的随机数小,系统会提示“您猜的太小了,请继续猜!”。 如果玩家输入的数
比系统给出的随机数大,系统提示“您猜的太大了,请继续猜!”。 如果玩家猜对了 数,但
是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!”,并且会计算出玩家所用的时间和所猜的次数。如果玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜
对了!您 真棒,智商真高!”,并且会计算出玩家所用的时间和所猜的次数。












恭喜您,


猜对了!
这么久才猜
出来,有点笨
猜对 输出“您猜的太大了,请继续猜”
若X 开 始
系统产生一个随机数X
玩家输入一个在0~99范围内的数Y
若X>Y
输出“您猜的太小了,请继续猜”







图6 程序流程图
4.2 关键算法与技术实现
结 束
储存记录


4.2.1 随机数的获取
num=(int)(()*100);


String answer;

Scanner input=new Scanner();
4.2.2 输入输出

for(i=1;i<=10;i++)
{



























if(num2 t(您猜的太小了,请继续猜!
continue;
}


else if(num2>num){
t(您猜的太大了,请继续猜!


continue;
}
long endTime=tTimeMillis();
long t;
t=(endTime-startTime)1000;
strshow=您总共猜了次,您猜数字总共花了

if(t<10)










t(恭喜您,猜对了!您真棒,智商真高!
else if(t>10)
t(这么久才猜出来,有点笨!
}
}
4.2.3 判断时间
startTime=tTimeMillis();
long endTime=tTimeMillis();
strshow=您猜数字总共花了秒

4.2.4 自动计数

int geust=0;
counter++;
strshow=您总共猜了次;

4.2.5 结果输出

long t;


t=(endTime- startTime)1000;
strshow=您总共猜了次,您猜数字总共花了




if(t<10)
t(恭喜您,猜对了!您真棒,智商真高!
else if(t>10)


t(这么久才猜出来,有点笨!

4.2.6 图形界面的实现
BorderLayout bdmg=new BorderLayout();

















Button button1=new Button(获取随机数
Button button2=new Button(确定
String str=null;
String str2=null;
long startTime;
int num,num2;
int counter=0;
myGeustNum my1=new myGeustNum();
TextField input;
Label lbshow=new Label(
Label lbshow2=new Label(
int i;
String strshow;
public void init()
{
setLayout(bdmg);
add(button1,BorderLayout.
NORTH
);
ionListener(this);
e(50,50);





















Label lb1=new Label(请输入
e(50,20);
(lb1,BorderLayout.
WEST
);


input=new TextField(10);
e(40,50);
add(input,BorderLayout.
CENTER
);
add(button2,BorderLayout.
EAST
);
e(50,20);








}






ionListener(this);
e(50,20);


add(lbshow,BorderLayout.
SOUTH
);
setSize(450,200);
4.3 类的实现

首先搭建Jav a程序框架。打开Eclipse,新建名为GuessNumberGame的项目,然后新
建名为G uessNumber的Java类。GuessNumber加上合适的javadoc。
第一步:随机数的产生
我们可以借助Java API提供的Random类来产生一个随机数。
首先在main函数中加入以下三行代码:
新建一个随机数产生器,然后生成一个1到100之间的整数。
num=(int)(()*100);
String answer;

Scanner input=new Scanner();
Eclipse立即在错误语句处划出红线,把鼠标移动到红线上。
包(Package)的概念
Java API中包含了极其丰富、类似于Random这样由Sun预先定义好的类。不同包中可< br>以有同名同姓的类,如果没有包的概念,就会遇到命名冲突问题。此外,包还能进行安全控
制。R andom类是在这个包中。可以手动在源程序顶部输入import
;语句来申明该程序将要使用包 中的Random类,然而有了
Eclipse,就不用那么麻烦了—把光标移动到有红色波浪线的Ra ndom上,然后按下Ctrl+
Shift+M,Eclipse会自动帮你完成导入的工作了,此时 保存一下源代码。
第二句语句定义一个整型变量number来保存随机产生的整数,并且用直接初始 化的方
法把random产生的随机数赋给number变量。
第二步:标准输入输出
标准输入输出(Standard IO)是指可以被应用程序使用的信息流。应用程序可以从标准
输入(Standard input)读取数据,向标准输出(Standard output)写数据,把出错信息发送
到标准错误(Standard error)。通过输入输出 ,应用程序和应用程序之间可以被串联起来使
用。虽然标准输入输出是从UNIX发展出来的概念,在W indows中也广泛应用。


猜数字游戏主要用到标准输入,更明确一些,就是控制台 输入。相反,要从控制台输入,
就需要用到。它是一个纯粹的输入流,而猜数字游戏主要是通过控制台获 取玩家
的字符输入,我们需要把它包装成一个BufferedReader。
第三步:使用BorderLayout对图形界面的窗口进行设计。






















五、测试运行


5.1 系统测试方案
1点击运行程序后,显示出图形界面。
2点击“获取随机数”按钮,系统获取到一个随机数。
3 玩家输入一个数,点击“确定”按钮。如果玩家输入的数比系统给出的随机数小,
系统会提 示“您猜的太小了,请继续猜!”。如果玩家输入的数比系统给出的随机数大,系统
提示“您猜的太大了 ,请继续猜!”。
4 如果玩家猜对了数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有 点
笨!”,并且会计算出玩家所用的时间和所猜的次数。如果玩家猜对了数,而且所用时间小于
十秒,系统会提示“恭喜您,猜对了!您真棒,智商真高!”,并且会计算出玩家所用的时间
和所猜的次 数。
5 如果玩家想重新再玩一次,点击“获取随机数”按钮即可继续玩下一轮游戏。

5.2 运行结果分析
开始运行程序时图形界面的显示












图7 图形显示界面




玩家输入一个数“25”后,点击“确定”,系统提示“您猜的太小了,请继续猜!”。











图8 系统提示图a

玩家再次输入一个数“70”后,点击“确定”,系统提示“您猜的太大了,请继续猜!”。









图9 系统提示图b



玩家再次输入一个数“32”,点击“确定”,系统提 示“这么久才猜出来,有点笨!您
总共猜了3次,您猜数字总共花了73秒”。











图10 图形界面结果输出图a

玩家再重新玩一次,获取随机数后,玩 家输入一个随机数“90”,点击“确定”,系统
提示“恭喜您,猜对了!您真棒,智商真高!您总共猜 了1次,您猜数字总共花了2秒”。









图11 图形界面结果输出图b

白夜行小说-博览群书造句


史蒂夫乔布斯-电视娱乐节目


好听的qq分组名-二级建造师模拟考试


吉他有几根弦-涓涓细流


许巍旅行-把心安顿好


黑头导出液使用方法-老爸去哪儿


宋祖英的歌曲-城镇低保申请书范文


无底洞打一成语-悼词