for循环倒计时不起作用
本文关键字:不起作用 倒计时 循环 for | 更新日期: 2023-09-27 18:08:32
如何在控制台中使用for循环制作倒计时。应用程序计数从0到-10,每2步,所以它计数0,-2,-4,-6,-8-10。我尝试的是:
class Program
{
static void Main(string[] args)
{
for(int i = 0; i == -10;i = i-2)
{
Console.Write("{0,2}", i = i-2);
System.Threading.Thread.Sleep(1000);
}
Console.WriteLine("Countdown End");
}
}
class Program
{
static void Main(string[] args)
{
for(int i = 0; i >= -10; i -= 2)
{
Console.Write("{0,2}", i);
System.Threading.Thread.Sleep(1000);
}
Console.WriteLine("Countdown End");
}
}
我改变了循环条件和控制台。WriteLine,因为它也在改变i的值
重新考虑你的代码和你真正想要存档的
for(int i = 0; i >= -10;i = i-2)
{
Console.WriteLine(i); //i already has the value you want to print
System.Threading.Thread.Sleep(1000);
}
Console.WriteLine("Countdown End");
如果你选择
Console.Write("{0}", i = i-2);
每个循环计算i = i - 2(loop counter) - 2(WriteLine calculation)
,除了第一个循环,其中i
将是Console.WriteLine("{0}", i = 0 - 2);
for (int i = 0; i >= -10; i -= 2)
{
Console.WriteLine("{0}", i);
}
for循环中间的表达式在开始时为false。for循环只在语句为真时才会起作用。
改变i == -10
i != -10
编辑:你应该试试
i > -10
只是为了保存(r)。
Edit2: (credit to user1666620)
Console.Write("{0,2}", i = i-2);
改变了i
的值,所以您应该使用
Console.Write("{0,2}", i-2);
。或者直接使用
Console.Write("{0,2}", i);