在指定范围内生成一个随机数作为目标值,用户对目标值进行猜测。

import java.util.Random; // 随机数
import java.util.Scanner; // 获取用户输入 public class Example {
public static void main(String[] args) {
Random rand = new Random();
Scanner in = new Scanner(System.in); // in 为一个变量
// 是否开始游戏
boolean isPlay = true;
// 设置游玩次数
int count = 7;
// 设置已玩次数
int havePlay = 0; // 设置随机数边界值 (这里也可以由用户自行输入)
int min = 10;
int max = 90; // 指定范围[min,max]随机数公式:Random.nextInt(max-min+1)+min;
int randNum = rand.nextInt(max-min+1)+min;
// 生成目标值在(min,max)双开区间
int goal = randNum;
if (randNum == min) {
goal += 1;
}else if (randNum == max) {
goal -= 1;
} // 逻辑部分
while(isPlay) {
if (havePlay==0) { // 首次游玩时给出范围
System.out.println("指定范围为:(" + min + ", " + max + "),输入负数可退出游戏。");
}
System.out.println("请输入你的猜想:");
int guessNum = in.nextInt(); // 读入猜测数字
count--; // 每猜一次,猜测机会减少一次
havePlay++; // 每猜一次,已玩次数增加一次 // 游戏规则:1 输入负数,退出游戏。 2 猜中答案,跳出循环,游戏结束。3 猜测数字和目标值的关系对比
if (guessNum < 0) {
System.out.println("玩家选择退出游戏。");
isPlay = !isPlay;
} else if (guessNum == goal) {
System.out.println("恭喜您用了" + havePlay + "次猜中了答案!答案为" + goal + "。游戏结束~");
break;
} else if (guessNum > goal && count > 0) {
System.out.println("比目标值大了哦~您还剩" + count + "次机会。");
} else if (guessNum < goal && count > 0) {
System.out.println("比目标值小了哦~您还剩" + count + "次机会。");
} else if (count <= 0) {
System.out.println("您的机会已经用尽,正确答案为:" + goal);
break;
}
}
}
}

 (运气比较好,两次就猜中了。。。)

游戏改良:在这个程序中,我们还可以规定:1. 随机数边界值;2. 游玩的次数。

猜数字游戏(随机数和Scannner的应用)的更多相关文章

  1. C语言猜数字游戏

    猜数字游戏,各式各样的实现方式,我这边提供一个实现方式,希望可以帮到新手. 老程序猿就不要看了,黑呵呵 源代码1 include stdio.h include stdlib.h include ti ...

  2. java 猜数字游戏

    作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...

  3. 【原创Android游戏】--猜数字游戏Version 0.1

    想当年高中时经常和小伙伴在纸上或者黑板上或者学习机上玩猜数字的游戏,在当年那个手机等娱乐设备在我们那还不是很普遍的时候是很好的一个消遣的游戏,去年的时候便写了一个Android版的猜数字游戏,只是当时 ...

  4. 【原创Android游戏】--猜数字游戏V1.1 --数据存储,Intent,SimpleAdapter的学习与应用

    --------------------------------------------------------------- V0.1版本 上次做完第一个版本后,发现还有一些漏洞,并且还有一些可以添 ...

  5. Java完成简单猜数字游戏v2.0

    猜数字游戏v2.0 优化了获取随机数.输入数据超出边界值的代码,并增加了异常处理,能够在玩家输入错误数据错误时给出可靠指引,希望对和我一样的新人有帮助, 最后希望有大神愿意帮我解决代码优化的问题,谢谢 ...

  6. Python实现猜数字游戏1.0版

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=702 """ 功能: 随机生成一个数字,最多有3次猜测机会,如果第一次没有猜对,则从第 ...

  7. 猜数字游戏 在控制台运行--java详解!了;来玩

    import java.util.Scanner;//导入包 import java.util.Scanner; 注意格式 符号的使用 public class Demo{ //猜数字游戏 练习 pu ...

  8. java & python猜数字游戏对比

    1.java版 package day03; import java.util.Random;import java.util.Scanner; /** * 猜数字游戏 * 随机生成一个1-100之间 ...

  9. jQuery学习(1)猜数字游戏

      jQuery是一个快捷.小型且特征丰富的JavaScript库.它使得HTML文档遍历及操作,事件处理,动画,Ajax等更简洁方便.它通过调用一个简单易用的API,就能在各种浏览器中使用.由于jQ ...

  10. Java用户输入数值,做简单的猜数字游戏,导入基础的工具包util

    Java用户输入数值,做简单的猜数字游戏,导入基础的工具包util,导入包的方法为,import java.util.*: 完整的实例代码: /* 导入基础工具包 */ import java.uti ...

随机推荐

  1. 7 —— node —— 响应图片

      const http = require('http'); const fs = require('fs'); const server = http.createServer(); server ...

  2. Android Studio 移动虚拟机

    突然间发现C盘 空间占用量增加了很多,经过找寻原因之后发现是因为安装了虚拟机的原因:在Android Studio中安装运行虚拟机时,默认的安装路径一般都在C盘,对于我这种不喜欢C盘存储太满的人来说是 ...

  3. 091-PHP数组过滤函数array_filter,过滤非整数

    <?php function not_int($x){ //定义过滤非整数的函数 if(is_int($x)) return TRUE; } $arr=array(1,2,'a',3,4,'c' ...

  4. Vue.js(23)之 keepAlive和activated

    阅读: vue中前进刷新.后退缓存用户浏览数据和浏览位置的实践 keep-alive 组件级缓存 keep-alive <keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而 ...

  5. JS location.href传参及接受参数

    当前页面传参 window.location.href= + "&name="+"zhangchenxao"; 下个页面接受参数 var url = l ...

  6. mybaits入门学习

    学习了简单的mybatis的配置 Bean层: 这个都会很简单 一个完整的Bean 需要getter和setter方法还需要一个空的构造方法和一个满的构造方法. Dao层: 创建一个接口就ok了 pa ...

  7. 部署Ambari Server实战案例

    部署Ambari Server实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备三台虚拟机(需要自行安装jdk环境) 1>.角色分配 NameNode节点: h ...

  8. Sublime Text与LaTeX的结合

    1.通过Command Palette安装LaTeXTools 2.通过Command Palette查找LaTeXTools: Reconfigure and migrate settings,回车

  9. TypeScript——枚举类型

    enum类型是对JavaScript标准数据类型的一个补充. 在运行环境下编译成对象, 可用属性名索引, 也可用属性值索引.而其实现原理为:反向映射 (如下例)   数字枚举 enum Role { ...

  10. mysql自增长字段设置

    mysql版本:5.7.27 说明:表中只能设置一个自增长字段[主键.索引(其他普通字段不行))] 设置自增长开始值: ALTER TABLE table_name AUTO_INCREMENT=10 ...