关于java:new Random()。nextInt(999999)有时会生成5位数字

new Random().nextInt(999999) sometimes generates 5 digit number

本问题已经有最佳答案,请猛点这里访问。

我使用新的Random().nextInt(999999)生成一个6位数的随机数。 但有时它会生成5位数字。 我明确要检查生成的数字是不是6位数。

为什么这种方法可以做到? 有没有其他方法可以确定它只生成6位数的随机数。


Random().nextInt(999999)生成介于0和999998之间的数字,因此您有大约10%的机会获得小于100000(5位及更少位数)的数字。

尝试

1
100000 + Random().nextInt(900000)

您将获得范围100000 - 999999的数字


Random().nextInt(999999)有时会生成5位数字,因为它会生成0到999999之间的随机值。

使用以下代码段生成范围内的随机数:

1
2
Random random = new Random();
minimum + random.nextInt(maximum - minimum + 1);