版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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版智能化设备采购与安装服务合同范本
- 二零二五房地产开发商综合授信借款合同范本
- 二零二五年度精密仪器设备租赁服务合同
- 国家电网公司供电企业劳动定员标准
- 7-聊城东制梁场80t龙门吊安拆安全专项方案-八局一-新建郑州至济南铁路(山东段)工程ZJTLSG-2标段
- 证据目录范本
- 中兴 ZXNOE 9700 系统介绍
- GB/T 21475-2008造船指示灯颜色
- 有理数加减混合运算练习题300道-
- 园林绿化工高级技师知识考试题库(附含答案)
- 安医大生殖医学课件04胚胎的培养
- 提高肠镜患者肠道准备合格率课件
- 灭火器每月定期检查及记录(卡)表
- 关于推荐评审高级工程师专业技术职务的推荐意见报告
评论
0/150
提交评论