为什么他们使用 101 而不是 100?与 Math.random()?

isu*_*ing -1 java random math

我刚开始通过 w3schools 学习 Java,其中一种方法(?)是Math.random(),他们有这个例子:

在此处输入图片说明

我不太确定他们为什么这样做Math.random() * 101。为什么他们使用 101 而不是 100?

谢谢

Tho*_*ger 5

Oracle 文档

返回带正号的双精度值,大于或等于 0.0 且小于 1.0。

Math.random() * 101因此,表达式计算为 0 到小于 101 范围内的某个浮点数。由于转换为整数会截断而不是舍入,因此这将减少到 0 到 100 范围内的整数,包括 0 到 100,具有(大致)偶数分配。

如果是Math.random() * 100,则永远不会生成数字 100。从 0 到 100(含)有 101 个值,因此您需要转到 101。