我遇到了一个使用Random
获取10个整数的代码段。但Random
不会返回随机数,而是始终返回1。
代码:
public static void main(String[] args) {
Random random = new Random(441287210);
for (int i = 0; i < 10; i++)
System.out.print(random.nextInt(10) + " ");
}
我无法找到解释。任何人都可以帮助理解这种行为吗?
答案 0 :(得分:6)
并非总是如此。鉴于441287210作为种子,恰好是0到10之间的下10个随机数变为全1 ...
Random random = new Random(441287210);
for (int i = 0; i < 100; i++) {
System.out.print(random.nextInt(10) + " ");
}
如果您生成100个数字,您将获得:
1 1 1 1 1 1 1 1 1 1 3 4 7 2 2 6 0 3 0 2 8 4 1 6 0 0 0 2 8 2 9 8 9 2 5 2 1 1 4 5 3 4 1 4 1 8 7 6 6 0 6 5 0 4 5 5 6 0 8 3 8 9 7 4 0 9 9 7 7 9 3 9 6 4 5 0 6 3 7 4 9 8 7 6 2 8 9 8 4 4 8 4 9 0 1 6 9 6 1 5