为什么这个while循环是无限循环

本文关键字:无限循环 循环 while 为什么 | 更新日期: 2023-09-27 17:50:59

我想要执行循环的内容最多3次,每次程序执行时,我希望它生成一个不同的数字。所以第一次运行可以是2,然后是3,然后是1,然后是2,等等…

下面是我写的代码:

       int i = new Random().Next(3);
        while (i <= 3)
        {
            Console.WriteLine("Hello World");
            i--;
        }**

然而,这会导致无限循环。有人能告诉我我做错了什么吗?

谢谢!

为什么这个while循环是无限循环

你总是在递减变量,所以它总是小于3

i将永远小于3…直到它到达Int。MinValue - 1 (overflow).

正确的做法应该是设置最小值和最大值,例如

int i = new Random().Next(3);
while (i>0 && i <= 3)
    {
        Console.WriteLine("Hello World");
        i--;
    }**

我认为如果你改变代码说'i++'而不是' I -'你会得到你正在寻找的结果。

int i = new Random().Next(3);
        while (i <= 3)
        {
            Console.WriteLine("Hello World");
            i++;
        }**