2015-11-09 38 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)); 
}