为什么这个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--;
}**
然而,这会导致无限循环。有人能告诉我我做错了什么吗?
谢谢!
你总是在递减变量,所以它总是小于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++;
}**