[Java · 铢积寸累] 基础函数 — 生成随机数 - Math.random() 详解

#新星杯·14天创作挑战营·第10期#

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java · 学习手册

0x01:Math.random() — 导入

在写程序时,我们经常会有生成随机数的需求,Java 中的 Math 类就提供了生成随机数的这么一个方法:

如上,从 Java API 文档可知,random() 方法将会返回一个 [0.0, 1.0) 之间的浮点数(注意 1.0 是取不到的)。

0x02:Math.random() — 的使用

0x0201:random() 生成 [0, 1) 之间的小数

先来一个简单的使用 random() 方法生成 [0, 1) 之间的整数:

import java.lang.Math;
​
public class TestVar {
    public static void main(String[] args) {
        System.out.println(Math.random());
    }
}

0x0202:random() 生成 [0, 100) 之间的小数

继续,提升一点难度,使用 random() 生成 [0, 100) 之间的小数,是不是就是在 random() 原本的基础上乘以 100 就可以啦:

import java.lang.Math;
​
public class TestVar {
    public static void main(String[] args) {
        System.out.println(Math.random() * 100);
    }
}

0x0203:random() 生成 [0, 100] 之间的整数

继续提高难度,我们要生成 [0, 100] 之间的整数,整数我们知道,只要使用 (int) 强制转换就行了,可是如何包含 100 呢?推导一下:

  • random() 默认范围:[0.0, 1.0)

  • 乘以 101 后的默认范围:[0.0, 101.0)

  • 我再取一个整数 [0, 100]

来看看试验结果(笔者写了个死循环,让它不随到 100 就不许停):

import java.lang.Math;
​
public class TestVar {
    public static void main(String[] args) {
        int num;
        while (true) {
            num = (int) (Math.random() * 101);
            if (num == 100) { // 咱就是验证一下能不能取到 100
                break;
            }
        }
        System.out.println(num);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue17 :: Hack3rX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值