嵌套循环中的随机不同数字

时间:2019-05-07 08:34:58

标签: java for-loop random nested-loops

我已经报名参加了Java课程并完成了嵌套循环,但是我想尝试使用它,并希望制作具有不同随机数的列,但它会在所有列上打印1个数字。如何使它在每个插槽上打印随机数(数字可以重复,但不能像现在那样复制)

    Random rng = new Random();
    int chance = rng.nextInt((100)+1);
    for (int row = 0; row < 5; row ++) {
        System.out.print("row " + row + ": ");
        for (int col = 0; col < 10; col++) {
            System.out.print(chance + " ");
        }
        System.out.println();
    }

这是结果:

第0行:13 13 13 13 13 13 13 13 13 13

第1行:13 13 13 13 13 13 13 13 13 13 13

第2行:13 13 13 13 13 13 13 13 13 13 13

第3行:13 13 13 13 13 13 13 13 13 13 13

第4行:13 13 13 13 13 13 13 13 13 13 13

但是我需要的是每个数字都是随机生成的,而不仅仅是滚动1个数字并将其放置到各处。

2 个答案:

答案 0 :(得分:2)

您应该尝试这样的操作。 将机会变量放在循环内将每次提供一个新的随机数。

        Random rng = new Random();
        for (int row = 0; row < 5; row ++) {
            System.out.print("row " + row + ": ");
            for (int col = 0; col < 10; col++) {
                int chance = rng.nextInt((100)+1);
                System.out.print(chance + " ");
            }
            System.out.println();
        }

答案 1 :(得分:1)

简单:

int chance = rng.nextInt((100)+1);

该行会为您提供一个新的随机数,并将其分配给您的局部变量。

您的代码在for循环之前执行上述语句一次。然后您的循环将打印您放入该局部变量的内容。

如果您希望重复发生“给我一个随机数”的情况,请考虑将其移动到您的循环中。

这就是全部。