Random int while循环在每次迭代时生成类似的结果

时间:2014-03-20 18:31:59

标签: c#

我试图在1-6的范围内打印2个随机数(例如" 1,5和#34;," 4,3")。 我想打印5次。

下面的代码似乎有效,除了大多数时候所有5张打印都有相同的结果,例如:

1,4 1,4 1,4 1,4 1,4

现在,情况并非总是如此,因为结果有时会有所不同,但我想知道是否可以改进此代码。有没有人对如何使这段代码更适合所需的输出有任何想法?

        Random random = new Random();
        int randomInt = random.Next(1, 6);
        int randomInt2 = random.Next(1, 6);

        int i = 0;

        while (i <= 4)
        {                              
            Console.WriteLine(randomInt.ToString() + ", " + randomInt2.ToString());
            i++;
        }

2 个答案:

答案 0 :(得分:4)

您需要为循环的每次迭代调用random.Next()

目前,您只是在循环中打印2个相同的初始随机值

答案 1 :(得分:4)

您在while循环之前分配了随机值,而不是在while循环中分配!!!

成功

    Random random = new Random();

    int i = 0;

    while (i <= 4)
    {                              
        int randomInt = random.Next(1, 6);
        int randomInt2 = random.Next(1, 6);
        Console.WriteLine(randomInt.ToString() + ", " + randomInt2.ToString());
        i++;
    }