我正在创建一个 1-100 的随机数,我正在查看一些 Stackoverflow 问题以寻找正确的方法,但我对许多不同的建议感到困惑。 使用这个有什么区别:
int random= (int)(Math.random()*((100-1)+1));
这个:
int random= (int)(Math.random()*(100);
还有这个:
int random= 1+ (int)(Math.random()*((100-1)+1));
最佳答案
int random = (int)(Math.random()*(x);
这会将 random
设置为 0
和 x - 1
之间的任意整数。
int random = 1 + (int)(Math.random()*(x);
将 1
添加到整个表达式中只是将其更改为 1
和 x
之间的任何整数。
(int)(Math.random()*((100-1)+1))
是多余的,等同于
(int)(Math.random()*(100)
所以请注意:
1 + (int)(Math.random()*(x)
返回一个 int
从 1
到 x + 1
但是
(int)(Math.random()*(x + 1)
返回一个 int
从 0
到 x + 1
。
关于java - 随机函数的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22888900/