实验三 Java猜数字游戏开发
课程:Java实验 班级:201352 姓名:程涵 学号:20135210
成绩: 指导教师:娄佳鹏 实验日期:15.06.03
实验密级: 预习程度: 实验时间:
仪器组次: 必修/选修:选修 实验序号:3
实验名称: Java猜数字游戏开发
(姬梦馨、程涵小组)
一、实验目的与要求:
通过编写Java的应用系统综合实例——猜数字游戏,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。
二、设备与环境
硬件:MacBookAir
软件:JDK 1.8.0; eclipse
三、实验内容
(1)实验需求分析:
1.玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。
2.对玩家输入的数字进行判断大小,如果不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入,给出提醒以便玩家进一步选择。
3. 玩家猜中时系统给出所用时间和游戏水平的判断,系统给出是否继续的提示及判断。 4.系统根据您猜数字的次数,自动计数.
5. 直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.
(2)功能模块详细设计
1.随机数的获取
功能描述:玩家输入一个数字,数字的范围在1-100之间,系统获取随机数。
2 输入输出模块
功能描述:对玩家输入的数字进行判断和提示。如果玩家输入的不是系统要求的数字,系统将提示您,您输入的不是数字请重新输入.。如果玩家输入的数字与随机生成数相比较,比随机生成数小.系统提示您,数字太小请您重新输入。如果玩家输入的数字与随机生成数相比较,比随机生成数大.系统提示您,数字太大请您重新输入。

3 判断模块
功能描述:系统给出对其水平的判断和是否继续的提示;对玩家要求判断执行。
4 自动计数模块
功能描述:系统根据您猜数字的次数,自动计数.

5 结果输出模块
功能描述:直到用户猜到数字为止,提示信息是否继续猜数字,如果继续将进入下一次游戏,如果退出将退出游戏系统.
(3)代码如下图所示:


代码:
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 产生一个随机数
int number = (int) (Math.random() * 100) + 1;
// 加入count
int count = 0;
// 在这里加入最大值,和最小值
int max = 100;
int min = 1;
while (true) {
// 键盘录入数据
Scanner sc = new Scanner(System.in);
System.out.println("欢迎进入“猜数字游戏”");
System.out.println("请输入你猜得数字:(" + min + "~" + max + ")");
try {
count++;
int guessNumber = sc.nextInt();
// 判断
if (guessNumber > number) {
max = guessNumber;
System.out.println("猜大了");
}
else if (guessNumber < number) {
min = guessNumber;
System.out.println("猜小了");
}
else {
System.out.println("恭喜你,只用了" + count + "次就猜中了!");
// 问是否继续
System.out.println("请问还要继续吗?(yes)");
sc = new Scanner(System.in);
String str = sc.nextLine();
if ("yes".equals(str)) {
// 重写赋值随机数
number = (int) (Math.random() * 100) + 1;
count = 0;
max = 100;
min = 1;
}
else {
break;
}
}
}
catch (InputMismatchException e) {
System.out.println("你输入的数据有误");
}
}
}
}
(3).游戏运行结果截图

四、实验结果及分析
通过此次Java综合性实验,我对Java有了系统的了解。
Java语言是现在最流行的编程语言之一,它具有面向对象、与平台无关、安全、多线程等特点。在此次实验中,使用Eclipse集成开发环境,编辑界面简单实用、易于修改。在编写程序开始遇到了很多问题,如:输入、输出时异常的抛出等,通过上网找资料都得到了解决。通过综合性实验的编写,引起了我对Java语言的很大兴趣,在今后的学习过程中讲进一步对Java进行系统、全面的了解与掌握。我会更加努力学好JAVA。
实验三 Java猜数字游戏开发的更多相关文章
- java 猜数字游戏
作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...
- 从零开始学java(猜数字游戏)
练练手不喜勿喷,看到什么学习什么第一次发博客格式就见见谅..... 2016-07-21 19:55:02 imp ...
- java猜数字游戏
import java.util.Scanner; //导入包 class GuessNum { public static void main(String[] args) { int num = ...
- 三个猜数字游戏代码(Python)
def binary_search(list,item): low = 0 high = len(list)-1 while low <= high: mid = (low + high)//2 ...
- java实现登录的验证码和猜数字游戏_图形化界面
实验任务四 1,出现设计思想 (1)先定义文本框.密码框和验证码框的组件 (2)定义面板和按钮的个数 (3)定义公有的虚构方法,通过对象实例化来调用 (4)利用Random类来实现生成0-9的随机数 ...
- Java完成简单猜数字游戏v2.0
猜数字游戏v2.0 优化了获取随机数.输入数据超出边界值的代码,并增加了异常处理,能够在玩家输入错误数据错误时给出可靠指引,希望对和我一样的新人有帮助, 最后希望有大神愿意帮我解决代码优化的问题,谢谢 ...
- java使用for循环做猜数字游戏
package org.llh.test;import java.util.Random;import java.util.Scanner;/** * 猜数字游戏 * * @author llh * ...
- 猜数字游戏 在控制台运行--java详解!了;来玩
import java.util.Scanner;//导入包 import java.util.Scanner; 注意格式 符号的使用 public class Demo{ //猜数字游戏 练习 pu ...
- java & python猜数字游戏对比
1.java版 package day03; import java.util.Random;import java.util.Scanner; /** * 猜数字游戏 * 随机生成一个1-100之间 ...
随机推荐
- vue.js数据绑定
语法 插值 双大括号:{{text}} {{*text}}之渲染第一次 {{{html}}} 表达式(各种数值,变量,运算符的综合体) ...
- (转)MySQL高可用方案MHA的部署和原理
背后深层次的逻辑: MHA Node则运行在每个mysql节点上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它自动将最新数据的slave提升为master,然 ...
- 关于NSStringFromClass的一点见解
今天做项目的时候遇到一个需求,就是子view视图弹出时,屏蔽掉父view的所有手势,然后想到用 UIGestureRecognizerDelegate代理方法,中间省一些文字(无奈脸),言归正传,NS ...
- jQuery----(类似抽奖转盘)高亮显示
效果如图: 原图 鼠标进入后开始变化图 实现需 ...
- Duplicate entry '' for key 'username'
一.报错信息: ERROR 2019-04-22 02:00:29,971 exceptions 30 [<wechat.views.WixinView object at 0x7f3bb01d ...
- linux 用时间创建文件夹
命令: mkdir `date +%Y%m%d%H%M%S`
- python基础学习1-计数器实例
#!/usr/bin/env python # -*- coding:utf-8 -*- import time as t class MyTimer: def __init__(self):#重写初 ...
- BZOJ3233【AHOI2013】找硬币
题面 题解 最优肯定是尽可能用大面值硬币 设$f[i]$表示最小面值为$i$时的最小答案 则:(令$p$是$i$的最小质因子) $$ f[\frac ip]=min(f[\frac ip], f[i] ...
- CF1111E Tree 树链剖分,DP
CF1111E Tree 过年了,洛咕还没爬这次的题,先放个CF的链接吧. 补个LG传送门. 对于每个询问点\(x\),设它的祖先即不能和它放在同一个集合中的点的个数为\(f[x]\),设\(dp[i ...
- 洛咕P4542 [ZJOI2011]营救皮卡丘
套路题? 感觉讲不清,先写建图 把每个点拆成两个,A和B, S->Ai流量=1费用=0,Bi->T流量=1费用=0, Ai->Bj流量=1费用=ij最短路 还有一个特殊的s点,S-& ...