2015-11-09 37 views
-4

我怎样才能一遍又一遍地重复一个随机,直到一个布尔变成真,并让它保存之前的所有随机数? 我随机为:如何进行随机重复?

Random random = new Random(); 
int colorFlash = random.Next(1, 5); 

我的布尔是:

bool winner = false 
+0

您显示了部分代码,例如声明“random”的方式和位置。还有什么意思,直到一个布尔成为真正的什么布尔你在说你在哪里检查这个布尔..?你需要更清楚你想要做什么或尝试做什么.. – MethodMan

+0

请显示整个代码块,包括你正在做的任何循环。 –

+1

你考虑过一个'while'循环吗? – maniak1982

回答

0

我同意,有相当大量的信息丢失的意见的人,所以我填写的空白:

 var allRandoms = new List<int>(); 
     bool winner = false; 

     Random random = new Random(); 

     while(!winner) 
     { 
      int colorFlash = random.Next(1, 5); 

      winner = (colorFlash == 4); 

      allRandoms.Add(colorFlash); 
     } 

我设置了一个list allRandoms来捕获所有生成的随机数。 我创建了一个while循环,直到赢家为止。 我在while循环中添加了一个条件,如果colorFlash等于4,则会将'winner'设置为true,以便我们最终能够跳出while循环。你可能需要一个更好的方式来结束这个循环,但它必须为这个例子做。 然后,您可以通过每个“allRandoms”具有以下运行:

  foreach(var i in allRandoms) 
      { 
       Console.WriteLine(i); 
      } 

编辑: 就像一个警告,这将增加所有的随机数,包括我们在停止随机数到'allRandoms'列表。

0

将colourFlashes保存在集合中,并使用while循环作为until。或者,如果您始终需要至少一次迭代,请使用do-while loop

//Create a collection to save our results 
var colorFlashes = new List<int>(); 

while (winner == false) 
{ 
    colorFlashes.Add(random.Next(1, 5)); 
}