Java中取指定范围随机数的方法

😂 这篇文章最后更新于1485天前,您需要注意相关的内容是否还可用。

例如随机取从20到100的整数,由于随机取值范围 [0,1),因此直接加起始数,因为nextInt中值可能为0,但是又小于最大数减起始数,因此需要加1

            Random random1 = new Random();
            int num = random1.nextInt(100 - 20 + 1) + 20;
//            总结下:random1.nextInt(大数-小数+1)+小数

或者使用如下,Math.random()与new Random().nextDouble()基本相同

int num1 = new Double(Math.random() * (100 - 20 + 1) + 20).intValue();
int num2 = (int) (new Random().nextDouble() * (100 - 20 + 1) + 20);
int number1 = (int) (Math.random() * (100 - 20 + 1)) + 20;
//不想减1的话直接四舍五入呗 前面原本1*79.999…… 四舍五入也就80了
int number2 = (int) round(Math.random() * (100 - 20)) + 20;

new Random(10)其中的10为初始种子,如果种子一致每次产生的随机序列是相同的,因此多个随机的话可以设置不同的种子,种子seed值一般可设置为当前时间。