小编Nic*_*olt的帖子

这个破坏的Java Random.nextInt(长)行为怎么了?

我发现这种方法似乎在你给它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的幂.这是怎么回事?此外,我该如何避免这种情况?

java random

8
推荐指数
1
解决办法
521
查看次数

标签 统计

java ×1

random ×1