欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java课程设计:猜数.doc

    • 资源ID:79044899       资源大小:372.50KB        全文页数:15页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java课程设计:猜数.doc

    课 程 设 计 报 告 课程设计名称 Java程序设计-猜数游戏 专 业 计算机科学与技术 班 级 4 班 学 号 姓 名 指导教师 成 绩 2011年3月10日目 录一、设计任务与要求11.1 设计任务与要求11.2 选题目的与意义1二、需求分析12.1 用户需求分析12.2 开发环境分析1三、系统设计23.1 系统总体设计23.2 功能模块设计23.3 类的设计3四、程序实现44.1 程序流程图44.2 关键算法与技术实现4五、测试运行75.1 系统测试方案75.2 运行结果分析7六、设计体会9主要参考文献9附录:10一、设计任务与要求1.1 设计任务与要求课程设计的任务是:根据所选课题“猜数游戏”,完成课程设计的分析、设计和编码,并用字符界面或图形界面实现。且写出课程设计报告。1.2 选题目的与意义通过猜数游戏的设计过程,深刻了解掌握面向对象程序设计语言Java的核心概念和特性;了解编程技术知识,会处理异常情况。学会制作图形界面;掌握Java应用软件的开发环境和开发过程;灵活选择程序设计思想。通过撰写课程设计论文,锻炼科技论文写作能力。二、需求分析2.1 用户需求分析小明看了电视上的价格竞猜节目后想自己创建一个类似的模拟软件练习,于是要求做一个程序实现以下功能:(1) 使用者可自行输入一个110之间的正整数;例如:1、3、5、7(2) 计算机在程序运行后随机生成一个110之间的正整数;(3) 比较上述二者大小,并从游戏开始时开始计时。若使用者所选数大于机器随机值,则提示“高了!”;反之提示“低了!”;直到二者相等时停止计时并根据使用时间的长短给出相应评语。例如:用户输入值为5,机器随机值为10,则输出“低了!”;若用户输入值为15,则输出“高了!”;直到二者同时为10时,停止计时并输出之前总共所用次数及时间(即评语)。2.2 开发环境分析本程序使用WINDOWS环境下的Myeclipse8.6软件开发。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。三、系统设计3.1 系统总体设计 该软件功能分析说明图如所示:猜数游戏系统计时模块数值输入输出模块数值比较模块图3.1 功能分析说明3.2 功能模块设计(1)输入输出模块进入游戏系统后,提示输入数值;在游戏结束阶段输出游戏所用时间、评语等信息。(2)数值比较模块图3.2.1(3)计时模块图3.2.23.3 类的设计类名Cshuyouxi猜数游戏属性times统计次数,系统根据您猜数字的次数,自动计数并显示剩余次数。Start Time获取开始时间Real Number电脑给出的数字,随即生成数Your Guess您猜的数字,机器输入的数字End Time获取结束时间,程序运行结束时的计时Random系统产生随机生成数BufferedReader字符输入流,缓冲各个字符,从而实现字符数组和行的高效读取方法Main (String)创建猜数游戏构造方法guess实现猜数游戏方法四、程序实现4.1 程序流程图 图4.1 程序流程图4.2 关键算法与技术实现游戏随即给出一个0-10(不包括0和10)的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终退出答案。在游戏过程中。记录你最终猜对时所需要的次数。游戏结束后公布结果。public class Zu_guess public static void main(String args) System.out.println("欢迎进入猜数字游戏!"+ "n" + "请输1个入0到10之间的正整数:" ); Zu_guess ch = new Zu_guess(); ch.guess(); public void guess() int realNumber = 0;/ 电脑给出的数字。 int yourGuess = 0;/ 你猜的数字。 Random rand = new Random(); realNumber = rand.nextInt(10) + 1; long startTime = System.currentTimeMillis(); / 获取开始时间 BufferedReader br = new BufferedReader(new InputStreamReader(System.in);/ 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 while (yourGuess != realNumber) try yourGuess = Integer.parseInt(br.readLine(); catch (Exception e) System.out.println("请输入一个1至10之间的整数"); continue; 在if-else语句中,如果玩家输入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家输入。从而,guess变量一定包含一个合法的整数,之后对玩家输入的整数尽心判断。 if (yourGuess < 0 | yourGuess > 10) System.out.println("请输入一个1至10之间的整数:");continue;二分法:如果已知X在L,R之内,那么令Y=(L+R)/2,如果Y<X则可以确定X在Mid+1,R之内,Y>X则可以确定X在L, Mid-1之内,Y=X,则表示已经猜出来了。如果玩家的猜测数太大或太小,都作出提示,接着把计算器增加一,表示玩家做过一次猜测。 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"); 五、测试运行5.1 系统测试方案 本次设计采用WINDOWS环境下的MyEclipse,MyEclipse包括了完备的编码、调试、测试和发布功能,极大的提高了工作效率。(1) 运行程序检测程序是否可以运行,程序运行成功图5.1程序运行成功(2) 游戏结束,程序对运行时间进行统计并进行那个显示图5.2 时间统计5.2 运行结果分析(1).进入游戏字符界面。图5.4进入游戏 (2).输入非数字后运行结果.图5.5 非数字运行结果(3).输入的数字不在1-10之间图5.6 数字大于10运行结果图5.7 数字小于0运行结果(4).输入的数字偏大或输入的数字偏小图5.8 数字大于或小于随机生成数运行结果计算机输入的数字大与系统给出的数字,系统提示输入数字偏大,计算机输入的数字小与系统给出的数字,系统提示输入数字偏小,请重新输入。(6).程序运行成功图5.9 程序运行成功六、设计体会游戏设计最重要的不是创意,而是游戏设计。设计游戏是对一个人整体思维能力和想象力的一个挑战自己大脑极限的工作,总是伴着某种痛苦,因为很多你想加入的游戏系统和特色,经过自己检验和想象式测试,就会发现存在很多问题,于是不断的改,直到最后才发现,最简单的设定往往最有效最合理,然后再以此追加更高级的复杂设定。希望进行更多的探讨和交流.这次游戏设计中遇到了一些问题,比如游戏运行过程中如何完成计时操作,经过查阅资料和编程测试最终解决,这些都是通过开发设计所获得的收获,古人云:“业精于勤,而荒于嬉”,讲的就是为人处事要脚踏实地,专心积极地去做,这才能做出好成绩;而整天无所事事,三天打渔,两天晒网是做不好的,只会荒废了自己的青春。主要参考文献1 丁新民.Java程序设计教程M. 北京:人民邮电出版社. 2006. 2 郑阿奇.Java EE基础实用教程M.北京:电子工业出版社.2009 3百度文库 EB/OL附录:package guess;import java.util.*;import java.io.*;public class Zu_guess public static void main(String args) System.out.println("欢迎进入猜数字游戏!"+ "n" + "请输入1个0到10之间的正整数:" ); Zu_guess ch = new Zu_guess(); ch.guess(); public void guess() int realNumber = 0;/ 电脑给出的数字。 int yourGuess = 0;/ 你猜的数字。 Random rand = new Random(); realNumber = rand.nextInt(10) + 1; long startTime = System.currentTimeMillis(); / 获取开始时间 BufferedReader br = new 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 < 0 | yourGuess > 10) System.out.println("请输入一个1至10之间的整数:"); 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"); 指导教师签字: 年 月 日

    注意事项

    本文(Java课程设计:猜数.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开