JAVA猜数游戏实训报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XXXXXXX 大学实习(实训)报告名称Java程序设计项目实训01

猜数游戏

2112年12月31日至2013年1月6日共1周

院系计算机工程系

班级

姓名

系主任

教研室主任

指导教师

目录

目录 (2)

一、课程设计的目的与要求 (3)

二、题目说明 (3)

2.1程序开发背景 (3)

2.2开发工具介绍 (4)

三、总体设计 (4)

3.1.系统总体设计: (4)

3.2.系统流程图: (5)

3.3功能结构图: (6)

四、详细说明 (6)

4.1 类与数据结构的实现 (6)

4.2 关键算法的实现 (7)

4.3 运行结果分析 (11)

五、遇到的问题和解决方法 (13)

六、课程设计总结 (13)

七、参考文献 (14)

附录(源程序代码) (14)

一、课程设计的目的与要求

1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;

2) 实训为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;

3) 培养学生在项目开发中团队合作精神,创新意识及能力。

二、题目说明

功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直至猜到,给出所用时间和评语.

界面要示:用字符界面实现,也可用图形界面实现.

2.1程序开发背景

设计一个猜数字游戏程序,要求具体如下特性:

(1)趣味性:要求游戏内容丰富多彩,语言风趣幽默。

(2)大众性:要求游戏界面操作简单,游戏规则简单易懂。

(3)合理性:游戏设计严谨,有条理,具体需求如下

①输入任意一个数字。数字的要求是1—100的整数即可。

②系统对您输入的数字进行判断。

如果玩家输入的数字与计算机随机生成数相比较,输入的数字比随机生成数小.系统将

提示您,数字太小请您重新输入。

如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大。

系统将提示您,数字太大请您重新输入。

如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请从新输

入。

③游戏开始时,系统自动记录您猜的时间,结束后显示所花费的时间。

④每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次。

⑤在游戏开始时,自动显示游戏规则。

⑥在游戏结束时,可以选择关闭游戏,或者重新开始。

2.2开发工具介绍

eclipse简介:Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Eclipse 的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。Eclipse中三个最吸引人的地方:一是它创新性的图形API,即SWT/JFace,在此之前,我曾经用过Java 的AWT/SWING来开发Windows应用程序,AWT/SWING其界面客观地讲不够美观,而且界面响应速度比较慢;而SWT/JFace则大大改善了Java在这方面的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插

三、总体设计

3.1.系统总体设计:

猜数字游戏—游戏随机给出一个1—100 (包括1和100) 之间的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示大了还是小了,从而缩小结果范围。经过几次猜测与提示后,最终猜出答案。

3.2.系统流程图:

3.3功能结构图:

4.1 类与数据结构的实现

首先搭建Java程序框架。打开Eclipse,新建名为zsy的项目,然后新建名为zsy的Java类。zsy加上合适的javadoc。

(1)随机数的产生

可以借助Java API提供的Random类来产生一个随机数。

首先在main函数中加入以下2行代码:

新建一个随机数产生器,然后生成一个1到100之间的整数。

Random random = new Random();

int number = random.nextInt(100);

第一句定义了一个类型是Random类的变量random(Java语言区分大小写,所以Random和random 是不同意思),并且用new操作符生成一个Random类的实例赋给random变量。random变量实际上是一个参照,指向内存中用new操作符新建的Random类的实大多数情况下可以把random直接看做是一个Random类的实例,可以通过“random”加上“.操作符”来调用Random类的方法,用random.nextInt(100)来获取一个1至100之间的随机数。

第二句语句定义一个整型变量number来保存随机产生的整数,并且用直接初始化的方法把random产生的随机数赋给number变量。

(2)输入输出界面

标准输入输出(Standard I/O)是指可以被应用程序使用的信息流。比如,应用程序可以从标准输入(Standard input)读取数据,向标准输出(Standard output)写数据,把出错信息发送到标准错误(Standard error)。猜数字游戏主要用到标准输入,即控制台输入。用System.out.println进行控制台输出,用System.in进行控制台输入。它是一个纯粹的输入流,而猜数字游戏主要是通过控制台获取玩家的字符输入,则需要把它包装成一个BufferedReader 实例来使用。

BufferedReader input = new BufferedReader(

new InputStreamReader(System.in)):

这时,input就是一个能处理来自控制台输入的、支持Unicode的、可以整行读取的一个BufferedReader实例,比如能通过input.readLine()方法获取玩家在控制台整整一行的输入。

4.2 关键算法的实现

(1)记录猜测次数模块

记录玩家猜测的次数,计数器增加一:

counter = 0;

counter++;

首先定义了一个counter变量来记录玩家猜测的次数,并直接初始化为0。在打印一行游戏提示以后,便开始一个do-while语句。

在do-while语句中,首先用异常处理语句获取玩家的输入,如果玩家输入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家的输入。从而,guess变量一定包含一个合法的整数。之后要对玩家的输入进行判断。

相关文档
最新文档