我发现这种方法似乎在你给它2的幂时失败了很难.鉴于两个不同种子的随机对象,它们似乎是当被要求返回0(包括)和之间的整数时返回的第一个整数两个(独占)的力量总是一样的; 种子没关系.例如:
public static void main(String[] args) {
Random mRandom;
for (int i = 0; i < 10; i++) {
mRandom = new Random(i);
System.out.println(mRandom.nextInt((int) Math.pow(2, 4)));
}
}
Console:
11
11
11
11
11
11
11
11
11
11
Run Code Online (Sandbox Code Playgroud)
我任意选择2 ^ 4,但它似乎适用于任何2的幂.这是怎么回事?此外,我该如何避免这种情况?