Java 中常见的随机数的生成方式有三种
第一种:通过 Math.random() 返回一个0(包含)到1(不包含)之间的 double 值。
第二种:通过 Random 类来产生一个随机数。
第三种:通过 System.currentTimeMillis() 来获取一个当前时间毫秒数的 long 型数字。
Java指定位数随机数
通过以上三种方式,可演变的使用Java生成指定位数随机数的方式就有很多种,下面来扩列两种且小而巧的方法:
使用 Math.random() 生成指定位数随机数
比如生成指定8位随机数,可以像下面一样改造一下:
int randomNum = (int) ((Math.random() * 9 + 1) * 10000000);
注:参数 10000000 可以控制随机数位数,10000000 这样出来8位数,100000 这样出来6位数。
注:(int) (Math.random() * 100 + 1) 和 (int) (Math.random() * 101) 的区别:
Math.random() * 100 + 1:产生1~100之间的随机整数(包括1和100)
Math.random() * 101 :产生0~100之间的随机整数(包括0和100)
测试结果:重复率比较