




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计实践I题目: 猜数字小游戏 学校: 学院:信息学院 班级:计科(高职) 学号: 姓名: 2014 年 9 月 20 日实践一 基础程序设计实践一、实践目的1、掌握基本输入输出。2、掌握方法定义与调用,理解参数传递方式。3、掌握数组的声明、定义与初始化,数组的处理。4、掌握数组作为方法参数和返回值。二、实践要求利用方法、数组、基本输入输出等Java基础知识,给出所选项目的基本设计与实现。三、项目需求所选项目名称:猜数字小游戏功能要求:该程序用图形界面实现下面功能:用计算机产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜对为止。游戏结束后给出
2、评语并计算出玩家所用的时间与所猜的次数。四、项目设计方案1.随机数的获取:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。2 .输入输出模块:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。3 .判断模块:算出所用时间在玩家猜中时给出其所用时间,系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。4 .自动计数模块:系统根据您猜数字的次数
3、,自动计数。5 .结果输出模块:直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.猜数字小游戏计时模块数值比较模块数值输入输出模块五、关键算法与技术实现游戏随即给出一个0-100(不包括0和100)的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终退出答案。在游戏过程中。记录你最终猜对时所需要的次数。游戏结束后公布结果。public class Zu_guess public static void main(String args) System.out.println(欢迎进
4、入猜数字游戏!+ n + 请输1个入0到100之间的正整数: ); Zu_guess ch = new Zu_guess(); ch.guess(); public void guess() int realNumber = 0;/ 电脑给出的数字。 int yourGuess = 0;/ 你猜的数字。 Random rand = new Random(); realNumber = rand.nextInt(100) + 1; long startTime = System.currentTimeMillis(); / 获取开始时间 BufferedReader br = new Buffe
5、redReader(new InputStreamReader(System.in);/ 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 while (yourGuess != realNumber) try yourGuess = Integer.parseInt(br.readLine(); catch (Exception e) System.out.println(请输入一个1至100之间的整数); continue; 在if-else语句中,如果玩家输入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家输入。从而,guess变量一定包含一个
6、合法的整数,之后对玩家输入的整数尽心判断。 if (yourGuess 100) System.out.println(请输入一个1至100之间的整数:);continue;二分法:如果已知X在L,R之内,那么令Y=(L+R)/2,如果YX则可以确定X在L, Mid-1之内,Y=X,则表示已经猜出来了。如果玩家的猜测数太大或太小,都作出提示,接着把计算器增加一,表示玩家做过一次猜测。 else if (yourGuess realNumber) System.out.println(您猜大了再来,加油哦!); else if (yourGuess realNumber) System.out.
7、println(您猜小了再来,要继续努力哦!); long endTime = System.currentTimeMillis(); / 获取结束时间 if (yourGuess = realNumber) System.out.println(恭喜您猜中了! + n + 程序运行时间: + (endTime - startTime) / 1000 + s); 六、完整源码import java.util.*;import java.io.*;public class Zu_guess public static void main(String args) System.out.print
8、ln(欢迎进入猜数字游戏!+ n + 请输入1个0到100之间的正整数: ); Zu_guess ch = new Zu_guess(); ch.guess(); public void guess() int realNumber = 0;/ 电脑给出的数字。 int yourGuess = 0;/ 你猜的数字。 Random rand = new Random(); realNumber = rand.nextInt(100) + 1; long startTime = System.currentTimeMillis(); / 获取开始时间 BufferedReader br = new
9、 BufferedReader(new InputStreamReader(System.in);/ 从字符输入流中读取文本,缓冲各个字符 while (yourGuess != realNumber) try yourGuess = Integer.parseInt(br.readLine(); catch (Exception e) System.out.println(请输入一个1至10之间的整数); continue; if (yourGuess 100) System.out.println(请输入一个1至100之间的整数:); continue; else if (yourGuess realNumber) System.out.println(您猜大了再来,加油哦!); else if (yourGuess realNumber) System.out.println(您猜小了再来,要继续努力哦!); long endTime = System.currentTimeMillis(); / 获取结束时间 if (yourGuess = realNumber) System.out.println(恭喜您猜中了! + n + 程序运行时间: + (endTime - startTime) / 1000 + s); 七、使用说明与运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届河北省秦皇岛市一中高二下化学期末教学质量检测试题含解析
- 2025届天津市静海区独流中学化学高二下期末调研试题含解析
- 村镇园林项目管理办法
- 华为运动启动管理办法
- 农村代理记账管理办法
- 公共绿化区域管理办法
- 检察档案保密管理办法
- 多功能复合创可贴-洞察及研究
- 冷藏冷冻安全管理办法
- 医院防疫垃圾管理办法
- 2023年云南特岗教师真题(小学)
- 沥青拌合站岗位职责
- 地下车库钢筋方案
- (2023)医院收费员考试题库及答案
- GB/T 14454.4-2008香料折光指数的测定
- 2023年三台县梓丰现代农业发展有限公司招聘笔试题库及答案解析
- 员工质量意识的培训课件
- 珊瑚海水盐标准
- 柴油机电站操作员(技师)理论考试题库及答案
- 天津英华插班生考试卷五年级
- 消防水池 (有限空间)作业安全告知牌及警示标志
评论
0/150
提交评论