Math.Random()随机产生6位数的写法理解

做项目时需要生成6位数的验证码

(int)((Math.random()*9+1)*100000)

项目中要用到6位随机数,突然看到这样的取法一时想不明白为什么要乘以9,找到答案后就记录下来!

Math.random()取得是0-1之间的随机小数(事实上取不到 0 和1),乘以9之后应该是0-9之间的随机小数,实际上也就是0.**8.****之间的小数(大于0而小于 9),经过int类型转换之后,应该是 0-8 之间的随机整数,所以"+1"之后就会得到1-9之间的的小数,乘以10000来获取范围在(10000-999999)之间的6位的整型数字。

`Math.random()` 是Java中的一个静态方法,用于生成一个随机的浮点数,这个数于0.0(包含)和1.0(不包含)之间。如果你想要生成随机的字符,通常是指生成一个随机的字符串,那么你需要结合`Math.random()`和字符操作来实现。 具体来说,生成随机字符通常包括以下步骤: 1. 定义字符的来源,比如一个特定的字符数组或者字符串。 2. 使用`Math.random()`生成一个随机数,用来作为字符数组或字符串的索引。 3. 通过索引选择一个字符作为随机字符。 4. 将选择出的字符拼接成字符串或者直接使用。 例如,如果你想生成一个随机的ASCII字符,可以这样操作: ```java public class RandomChar { public static void main(String[] args) { // 定义一个包含ASCII字符的字符串 String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; // 获取字符数组 char[] charArray = chars.toCharArray(); // 使用Math.random()生成一个随机索引 int index = (int)(Math.random() * charArray.length); // 通过索引获取随机字符并打印 System.out.println("随机字符是: " + charArray[index]); } } ``` 注意,上述代码中`Math.random()`生成的是一个介于0(包含)和1(不包含)之间的随机浮点数,然后乘以`charArray.length`来得到一个介于0(包含)和`charArray.length`(不包含)之间的随机数。由于数组索引是从0开始的,所以不需要再减去1。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值