为什么下面的结果是 0 - 9 而不是 10?
我的理解是 Math.random() 创建 0 到 1.0 以下的数字。
所以它可以产生 0.99987,通过 *10 变成 10,不是吗?
int targetNumber = (int) (Math.random()* 10);
最佳答案
在 Java 中将 double
转换为 int
会进行整数截断。这意味着,如果您的随机数是 0.99987,则乘以 10 得到 9.9987,整数截断得到 9。
关于java - 为什么 (int) Math.random()*10 在 Java 中不产生 10?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3091998/