使用Math.random()获得短信验证码功能需要的随机数


使用Math.random()获得短信验证码功能需要的随机数

在项目中看到一个需求,要用到6位数字的随机数,虽然知道是用random()函数获得,不过获取六位数字的计算方式还是想不起来了,经过一系列演算后得到结果如下:

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

Math.random()的取值结果应该是0-1(事实上取不到 0 和1)之间的随机小数,像这样:

image-20210716095254084

乘以9之后就得到了0-9(大于0小于9)之间的随机小数:

image-20210716095455351

经过int类型转换之后,应该是 0-8 之间的随机整数,因为double转int向下取整,所以 “+1”之后就会得到1-9之间的小数,乘以10000来获取6位的整型数字。

image-20210716102125454


文章作者: 刘磊
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 刘磊 !
 上一篇
算法思维——简单的方式打开动态规划 算法思维——简单的方式打开动态规划
动态规划的核心思想是:大规模问题的答案可以由小规模问题的答案递推得到。
2021-07-23
下一篇 
Java高级 如何理解Spring IoC中的控制反转、依赖倒置原则、依赖注入、控制反转容器? Java高级 如何理解Spring IoC中的控制反转、依赖倒置原则、依赖注入、控制反转容器?
这里只是很粗略的讲了一下我自己对IoC和DI的理解。主要的目的是在于最大限度避免晦涩难懂的专业词汇,用尽量简洁,通俗,直观的例子来解释这些概念。
2021-07-07
  目录