例如随机取从 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 值一般可设置为当前时间。