java - Math.random 没有给我一个我正在寻找的范围内的变量?

标签 java random

我正在尝试获取数字 57 和 48、90 和 65、122 和 97 之间的随机数。

(int) (Math.random * (max-min) + 1);

这通常有效,但是当我用它来获取上述数字时

(int) (Math.random() * (57-48) + 1);
(int) (Math.random() * (90-65) + 1);
(int) (Math.random() * (122-97) + 1);

我最终得到的变量太小了。 (示例:5、14、3、15 和 8)。

我不明白为什么它不适用于这些特定数字。

最佳答案

return Math.floor(Math.random() * (57 - 48 + 1)) + 48;
return Math.floor(Math.random() * (90 - 65 + 1)) + 65;
return Math.floor(Math.random() * (122 - 97 + 1)) + 97;

这对你有用吗?

关于java - Math.random 没有给我一个我正在寻找的范围内的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47775172/

相关文章:

python - 值错误: need more than one value to unpack

java - 如何执行一个 Activity N次,其中N是用户输入

java - 使用 Java 流收集在 `for` 循环中生成的对象

java - Java 中带有抽象类的菱形继承(钻石问题)

random - 真随机与伪随机(你能伪随机真随机)

python - sklearn 的 ParameterSampler 中的 random_state 参数有什么作用?

python - 在numpy中生成指定间隔(不是[0,1))内均匀分布的随机数的NxM数组

java - 如何从资源中获取文件?

java - 如何平滑圆角矩形的角,Swing?

java - 如何在android studio中的imageview中随机化一组图像?