生成随机数,第一个为零

chi*_*yal 2 java random

我知道如何获得0到零之间的一系列随机数.

但我想知道的是,由于随机数生成器不是真正随机的,并且遵循特定的算法,例如,如果传递20的种子,那么它将始终生成相同的数字序列:17,292,0 ,9.

所以我明白了.由于它遵循特定的算法,有没有办法可以强制生成器始终从零或任何其他数字开始?

但在我的情况下特别为零.

Ben*_*oit 5

无需破解Random类,只需编写自己的类:

public class RandomGenerator {

    private int bound;
    private Random random;
    private boolean firstCall = true;

    public RandomGenerator(int bound, long seed) {
        this.bound = bound;
        random = new Random(seed)
    }

    public int next() {
        if (firstCall) {
            firstCall = false;
            return 0;
        }
        return random.nextInt(bound);
    }
}
Run Code Online (Sandbox Code Playgroud)