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

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. 146-PHP 使用<<<和HTML混编(二)

    <?php $html=<<<HTM1 <title>PHP输出HTML代码</title> <body> <a href=#> ...

  2. XPath--快速获取XML数据的节点或属性

    转载自 XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识.示例Xml: <?xml version="1.0" ...

  3. spark任务日志配置

    样例代码: public class SparkTest { private static Logger logger = Logger.getLogger(SparkTest.class); pub ...

  4. sql ,类型转换,日期截取格式

    字符型 转换成整型 CONVERT(int ,字段) 只取年月日格式 CONVERT(varchar(10), ZB.drive_time, 120 ) SELECT CONVERT(VARCHAR, ...

  5. python scipy库

    三.假定正态分布,求解1倍标准差和0.5倍标准差的概率? 二.求解多元线性或非线性方程组解 一.求解3元一次方程 1.学习资料  https://github.com/lijin-THU/notes- ...

  6. 洛谷 P5542 [USACO19FEB]Painting The Barn

    题目传送门 解题思路: 二维差分的板子题.题解传送门 AC代码: #include<iostream> #include<cstdio> using namespace std ...

  7. 洛谷 P1043 数字游戏

    题目传送门 解题思路: 跟石子合并差不多,区间DP(环形),用f[i][j][s]表示从i到j分成s段所能获得的最大答案,枚举断点k,则f[i][j][s] = min(f[i][j][s],f[i] ...

  8. json - json对象和json字符串直接的相互转换

    一.json字符串转json对象 1.json字符串转json对象 var obj = JSON.parse(str); //由json字符串转换为json对象 2.获取对象的value consol ...

  9. Arduino --structure

    The elements of Arduino (C++) code. Sketch loop() setup() Control Structure break continue do...whil ...

  10. tableau创建蜘蛛图

    tableau官方案例2:创建起点和终点的路径地图 (spider Maps) 源数据样式: 应用:交通图  步骤及注意: 将Line Group (Path ID)维度放入标记卡详细信息 默认的为聚 ...