继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

猜随机区间的随机数字游戏(随机数,if,while ,scanner)

玄鉴
关注TA
已关注
手记 96
粉丝 237
获赞 4217

import java.util.Random;//随机数导入
import java.util.Scanner;//scanner导入语句

Scanner e = new Scanner(System.in);
int a = (int) (Math.random() * 100 + 1);
System.err.println(a);//随机数产生于输出,可以注释掉。

    while (true) {//条件为真,只是借用while的循环。

        System.out.println("请你猜随机数有多大?");

        int f = e.nextInt();
        if (f > a) {
            System.out.println("大了");
        } else if (f < a) {
            System.out.println("小了");
        } else if (f == a) {
            System.out.println("恭喜你,答对了");//条件判断三种情况

    }

也可以将else if 放到循环语句外面,不过这个时候while的判断条件也要变为:f!=a的条件,而且还要给f一个初始值,也可以用do while ,先执行就不用给一个初始值了。

随机数还可以这样生成:
Random b = new Random();
int c = b.nextInt(101);
这里是101.不是100.

而且可以讲生成随机说的语句放到while循环语句里面。

这样没判断一次就产生一个随机说。看看你的运气是否能在一万次的机会之内大队一次。大家可以试一下。

另外我们平常去随机数都是0-10或者0-100等等。可是没有规律的取值区间随机数如何存取。
[min,max)Math.random() ---> [0,1)*10--->[0,10)
这是标准语法。
如果取22=<a<45。如何取得?

[22,45) [0,1)*23-->[0,23)---->[0,23)+22--->[22,45)

如此得到随意区间随机数的取值语法:

[min,max)(int)(Max,random()*(max-min)+min)

平常的写法省略的加零。直接乘以10,100,1000而已。
System.out.println((int)Math.random()*10+0);

打开App,阅读手记
4人推荐
发表评论
随时随地看视频慕课网APP