【发布时间】:2017-02-12 13:39:57
【问题描述】:
我正在尝试将控制台背景颜色设置为随机颜色,但它总是返回洋红色。我必须改变什么来解决这个问题。谢谢!
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
Random random = new Random();
int randomInt = random.Next(0, 6);
while(randomInt < 7)
{
Console.BackgroundColor = ConsoleColor.Red;
randomInt++;
Console.BackgroundColor = ConsoleColor.Blue;
randomInt++;
Console.BackgroundColor = ConsoleColor.Cyan;
randomInt++;
Console.BackgroundColor = ConsoleColor.Green;
randomInt++;
Console.BackgroundColor = ConsoleColor.Red;
randomInt++;
Console.BackgroundColor = ConsoleColor.Yellow;
randomInt++;
Console.BackgroundColor = ConsoleColor.Magenta;
randomInt++;
}
}
}
}
【问题讨论】:
-
使用调试器并逐步完成 - 你应该看到你的错误......
-
我不明白这个问题 -
while循环设置的最后一种颜色是洋红色。您可能想要使用不同的构造,例如if或switchcase -
显然您想创建某种Duff's device,希望在
while中的每条指令之后将randomInt重新评估为< 7,并且它会自动退出@ 987654331@ 发生时。这不是它的工作原理。 -
您可以尝试播种随机数,这样它就不会总是以相同的序列开始。请参阅此 SO 帖子 stackoverflow.com/questions/4060961/…
-
另外,在您的 while 循环中,您没有给它时间查看颜色变化。所以它一直到最后,你最终得到了相同的颜色。
标签: c#