gpt4 book ai didi

java - 使用 Math.random() 的表达式总是返回相同的值

转载 作者:行者123 更新时间:2023-11-29 07:25:32 25 4
gpt4 key购买 nike

出于某种原因,这行代码 int u=(int)Math.random()*6 + 1; 结果只会返回 1。

我发现它只是跳过整个 (int)Math.random()*6 并且只使用 1,因为当我将它更改为 2 时它只返回 2。

有人知道发生了什么事吗?

最佳答案

Math.random()int 的转换发生在乘以 6 之前。转换运算符是 higher precedence。比*

Math.random() 方法返回一个介于0(含)和1(不含)之间的随机数,因此强制转换总是返回 0

要提供适当的范围,请在 转换之前通过插入括号乘以 Math.random()Math.random() * 6的取值范围是0(含)到6(不含)。

int u = (int) (Math.random()*6) + 1;

关于java - 使用 Math.random() 的表达式总是返回相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53771414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com