java课程设计-猜数字游戏_第1页
java课程设计-猜数字游戏_第2页
java课程设计-猜数字游戏_第3页
java课程设计-猜数字游戏_第4页
java课程设计-猜数字游戏_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录\l“_TOC_250022“一、设计任务与要求 1\l“_TOC_250021“设计任务与要求 1\l“_TOC_250020“选题目的与意义 1\l“_TOC_250019“二、需求分析 2\l“_TOC_250018“用户需求分析 2\l“_TOC_250017“开发环境分析 2\l“_TOC_250016“三、系统设计 3\l“_TOC_250015“系统总体设计 3\l“_TOC_250014“总体设计分析 3\l“_TOC_250013“程序构造 3\l“_TOC_250012“功能模块设计 5\l“_TOC_250011“功能模块图 5\l“_TOC_250010“功能模块具体设计 5\l“_TOC_250009“类的设计 7\l“_TOC_250008“四、程序实现 9\l“_TOC_250007“4.1程序流程图 9随机数的猎取 10\l“_TOC_250006“输入输出 10推断时间 11自动计数 11\l“_TOC_250005“结果输出 11\l“_TOC_250004“图形界面的实现 12\l“_TOC_250003“4.3类的实现 13\l“_TOC_250002“五、测试运行 15\l“_TOC_250001“系统测试方案 15\l“_TOC_250000“运行结果分析 15六、设计体会 错误未定义书签。10一、设计任务与要求设计任务与要求功能要求:该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,玩耍者进展猜数,猜中即胜,猜不中,提示是大了还是小了,连续猜,直至猜对为止。玩耍完毕后给出评语并计算出玩家所用的时间与所猜的次数。具体要求:欢送界面:通过这里供给的选项〔或按钮〕,进入玩耍界面。玩耍界面供给“猎取随机数”按钮,系统猎取到随机数,玩耍者输入自己的猜测结果,通过按“确认”按钮完成输入。每次提示输入猜测结果时,给出猜测的准确度提示。按“猎取随机数”按钮,连续玩耍。玩耍完毕后给出评语并计算出玩家所用的时间与所猜次数。界面要示:用图形界面实现。选题目的与意义通过猜数玩耍这个课题我可以学到文本框、标签框、按钮、布局、对话框方面的学问和应用,到达设计登陆界面、参加图像显示功能以及设计按钮的目的,让我更加的把握和java二、需求分析用户需求分析玩家输入一个数字,数字的范围在1-100之间,系统猎取随机数。输入的不是数字请重输入,给出提示以便玩家进一步选择。玩家猜中时系统给出所用时间和玩耍水平的推断系统依据您猜数字的次数,自动计数.直到用户猜到数字为止,提示信息是否连续猜数字,假设连续将进入下一次玩耍,假设退出将退出玩耍系统.开发环境分析MyEclipse〔MyEclipseEnterpriseWorkbench,简称MyEclipse〕EclipseIDEJavaEEJavaEEHTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在构造上,MyEclipse7JavaEEWEBEJB应用程序效劳器的连接器JavaEE数据库效劳MyEclipseEclipse插件来实现它们。MyEclipse构造上的这种模块化,可以让我们在不影响其他模块的状况下,对任一模块进展单独的扩展和升级。简洁而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE境,支持代码编写、配置、测试以及除错。该程序基于JDKMyEclipseMyEclipse随机产生一个数字,可依据玩家选择给出不同的数字的大小比较。在玩家猜中时,可给出其所用时间,并给出评价。最终,玩耍的完毕与连续可由玩家掌握。三、系统设计系统总体设计总体设计分析随机数的猎取:玩家输入一个数字,数字的范围在1-100之间,系统猎取随机数。输入输出模块:对玩家输入的数字进展推断和提示。假设玩家输入的不是系统要求的数生成数相比较,比随机生成数大.系统提示您,数字太大请您重输入。推断模块:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的推断和是否连续的提示;对玩家要求推断执行。自动计数模块:系统依据您猜数字的次数,自动计数.结果输出模块:直到用户猜到数字为止,提示信息是否连续猜数字,假设连续将进入下一次玩耍,假设退出将退出玩耍系统.程序构造点击“猎取随机数”按钮,系统猎取到一个随机数。玩家输入一个数,假设玩家输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请连续猜!”。假设玩家输入数,但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨!”,并且会计算出玩家所用的时间和所猜的次数。假设玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!您真棒,智商真高!”,并且会计算出玩家所用的时间和所猜的次数。开始开始系统产生一个随机数X0~99范围内的数YX>YX<Y输出“您猜的太小了,请连续猜”猜对输出“您猜的太大了,请连续猜”恭喜您,猜对了!这么久才猜出来,有点笨储存记录结束1程序构造图功能模块设计功能模块图玩耍分为随机数的猎取,输入输出模块,推断模块,自动计数模块,结果输出模块。其中输入输出模块中系统会对玩家给出的数进展推断和输出。推断模块会对玩家的水平进展推断,并计算出玩家所用的时间和次数。时水是否间平连续的选择猜数玩耍随机数的猎取猜数玩耍随机数的猎取出块模块自动计数结果输出模块模块出功能模块具体设计随机数的猎取功能描述:玩家输入一个数字,数字的范围在1-100之间,系统猎取随机数。输入输出模块相比较,比随机生成数大.系统提示您,数字太大请您重输入。输入输出模块输入输出模块对玩家输入的数字进展推断和提示您入不输的是您输入的您输入的猜对了太小太大数字3输入输出模块图推断模块功能描述:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的推断和是否连续的提示;对玩家要求推断执行。推断模块推断模块算功能出推断提示玩家是否继续4推断模块图自动计数模块功能描述:系统依据您猜数字的次数,自动计数.玩家猜数字,假设猜错玩家猜数字,假设猜错15自动计数模块图结果输出模块功能描述:直到用户猜到数字为止,提示信息是否连续猜数字,假设连续将进入下一次玩耍,假设退出将退出玩耍系统.类的设计1类的分类类名类名属性Math.random数学中的随机数。BorderLayout图形界面窗口的设计与调整Concurrentconcurrent在并发编程中很常用的有用工具类。从用户的角度看,Java源程序中的类分为两种:系统定义的类:即JavaJava语言由语法规章和类库两局部组成,语法规章确定Java程序的书写标准;类库则供给了Java程序与运行它的系统软件〔Java〕之间的接口。用户自定义类:系统定义的类虽然实现了很多常见的功能,但是用户程序仍旧需要针对特定问题的特定规律来定义自己的类。在Java程序中,用户自定义类的一般格式如下:class数据成员成员方法类的构造是由类说明和类体两局部组成的。类的说明局部由关键字class与类名组成,类名的命名遵循Java标识符的定义规章。〔属性〔方法〕两局部组成。数据成员描述对象的属性;成员方法则刻画对象的行为或动作,每一个成员方法确定一个功能或操作。首先搭建Java程序框架。翻开Eclipse,建名为GuessNumberGame的工程,然后建名为GuessNumberJavaGuessNumberjavadoc。第一步:随机数的产生//建一个随机数产生器,然后生成一个1100num=(int)(Math.random*100);我们可以借助JavaAPI//建一个随机数产生器,然后生成一个1100num=(int)(Math.random*100);Stringanswer;Scannerinput=newScanner(System.in);其次步:标准输入输出标准输入输出(StandardI/O)是指可以被应用程序使用的信息流。应用程序可以从标准输入(Standardinput)读取数据,向标准输出(Standardoutput)写数据,把出错信息发送到标准错误(Standarderror)。通过输入输出,应用程序和应用程序之间可以被串联起来使用。虽然标准输入输出是从UNIXWindows猜数字玩耍主要用到标准输入,更明确一些,就是掌握台输入。相反,要从掌握台输入,就需要用到System.in。它是一个纯粹的输入流,而猜数字玩耍主要是通过掌握台获取玩家的字符输入,我们需要把它包装成一个BufferedReader。第三步:使用BorderLayout对图形界面的窗口进展设计。四、程序实现程序流程图点击“猎取随机数”按钮,系统猎取到一个随机数。玩家输入一个数,假设玩家输入的数比系统给出的随机数小,系统会提示“您猜的太小了,请连续猜但是所用时间大于十秒,系统会提示“这么久才猜出来,有点笨用的时间和所猜的次数。假设玩家猜对了数,而且所用时间小于十秒,系统会提示“恭喜您,猜对了!您真棒,智商真高开始开始系统产生一个随机数X0~99范围内的数YX>YX<Y输出“您猜的太小了,请连续猜”猜对输出“您猜的太大了,请连续猜”恭喜您,猜对了!这么久才猜出来,有点笨储存记录结束6程序流程图关键算法与技术实现随机数的猎取num=(int)(Math.random*100);Stringanswer;Scannerinput=newScanner(System.in);输入输出for(i=1;i<=10;i++){if(num2<num){lbshow.setText(“您猜的太小了,请连续猜!“);continue;}elseif(num2>num){lbshow.setText(“您猜的太大了,请连续猜!“);continue;}longendTime=System.currentTimeMillis;longt;t=(endTime-startTime)/1000;strshow=“您总共猜了“+counter+“次,您猜数字总共花了“+(endTime-startTime)/1000+“秒“;if(t<10)lbshow.setText(“恭喜您,猜对了!您真棒,智商真高!“+strshow);elseif(t>10)lbshow.setText(“这么久才猜出来,有点笨!“+strshow);}}推断时间startTime=System.currentTimeMillis;longendTime=System.currentTimeMillis;strshow=“您猜数字总共花了“+(endTime-startTime)/1000+“秒“;intgeust=0;counter++;strshow=“您总共猜了“+counter+“次;结果输出longt;t=(endTime-startTime)/1000;strshow=“您总共猜了“+counter+“次,您猜数字总共花了“+(endTime-startTime)/1000+“秒“;if(t<10)lbshow.setText(“恭喜您,猜对了!您真棒,智商真高!“+strshow);elseif(t>10)lbshow.setText(“这么久才猜出来,有点笨!“+strshow);图形界面的实现BorderLayoutbdmg=newBorderLayout;Buttonbutton1=newButton(“猎取随机数“);Buttonbutton2=newButton(“确定“);Stringstr=null;Stringstr2=null;longstartTime;intnum,num2;intcounter=0;myGeustNummy1=newmyGeustNum;TextFieldinput;Labellbshow=newLabel(““);Labellbshow2=newLabel(““);inti;Stringstrshow;publicvoidinit{setLayout(bdmg);add(button1,BorderLayout.NORTH);button1.addActionListener(this);button1.setSize(50,50);Labellb1=newLabel(“请输入“);lb1.setSize(50,20);this.add(lb1,BorderLayout.WEST);input=newTextField(10);input.setSize(40,50);add(input,BorderLayout.CENTER);add(button2,BorderLayout.EAST);lb1.setSize(50,20);button2.addActionListener(this);button2.setSize(50,20);add(lbshow,BorderLayout.SOUTH);setSize(450,200);}类的实现首先搭建Java程序框架。翻开Eclipse,建名为GuessNumberGame的工程,然后建名为GuessNumberJavaGuessNumberjavadoc。第一步:随机数的产生//建一个随机数产生器,然后生成一个1100我们可以借助JavaAPI供给的//建一个随机数产生器,然后生成一个1100num=(int)(Math.random*100);Stringanswer;Scannerinput=newScanner(System.in);Eclipse马上在错误语句处划出红线,把鼠标移动到红线上。包(Package)的概念JavaAPIRandom这样由Sun可以有同名同姓的类,假设没有包的概念,就会遇到命名冲突问题。此外,包还能进展安全掌握。Random类是在java.utilimportjava.util.Random;语句来申明该程序将要使用java.util包中的RandomEclipse,就不用那么麻烦了—把光标移动到有红色波浪线的RandomCtrl+Shift+M,Eclipse其次句语句定义一个整型变量number来保存随机产生的整数randomnumber其次步:标准输入输出标准输入输出(StandardI/O)是指可以被应用程序使用的信息流。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论