Java随机 - 始终打印1

时间:2015-10-12 19:44:47

标签: java random

我遇到了一个使用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) + " ");
}

我无法找到解释。任何人都可以帮助理解这种行为吗?

1 个答案:

答案 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