我知道如何获得0到零之间的一系列随机数.
但我想知道的是,由于随机数生成器不是真正随机的,并且遵循特定的算法,例如,如果传递20的种子,那么它将始终生成相同的数字序列:17,292,0 ,9.
所以我明白了.由于它遵循特定的算法,有没有办法可以强制生成器始终从零或任何其他数字开始?
但在我的情况下特别为零.
无需破解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)