2016-02-14 34 views
-4

我正在編寫我的程序的開始,即讓計算機在控制檯上生成3個隨機數字。將3個隨機數字輸入到數組中

他們需要是1-9(包括兩個),沒有數字可以重複,我需要把這個答案放入一個數組中。主要方法類和類需要什麼。

+1

隨機數組洗牌你,你會得到隨機數 –

+2

張貼你試過的東西! –

+0

爲什麼這是基於意見的?這不是**藍**或**紅**是**最好的顏色**的問題。這有一個非常明確的問題,無論它是多麼微不足道。 – Enigmativity

回答

0

試試下面這段代碼:

//range set 0 to 9 
int Min = 0; 
int Max = 10; 

//declare an array which store 3 random number 
int[] arr = new int[3]; 

Random randNum = new Random(); 
for (int i = 0; i < arr.Length; i++) 
{ 
    arr[i] = randNum.Next(Min, Max); 
    Console.WriteLine(arr[i]); 
} 
+0

這不會阻止重複值 – derpirscher

+0

這也決不會選擇「9」。 – Enigmativity

+0

@Enigmativity .......將Max 9改爲10 ... –

0

試試這個:

Random rnd = new Random(); 
int[] arr = Enumerable.Range(0, 10).OrderBy(n => rnd.Next()).Take(3).ToArray(); 

foreach (var n in arr) 
{ 
    Console.WriteLine(n); 
} 
+0

評論re-vote? – Enigmativity

1

你應該先自己試試它了(網站規則說的話),但可以提供一些提示:

1)整數隨機數可以使用Random類生成。更多細節可以發現here和答案已被提供了有關代

2)避免重複每個號碼應該對數字的現有列表進行測試:

array.Contains(generatedNumber) 

3)爲了您的特定請求,優雅的選擇是generate 1和9之間的所有數字,洗牌陣列,並挑選前三個元素:

var initArray = Enumerable.Range(1, 9).ToArray(); 
var randomArray = initArray.OrderBy(x => rnd.Next()).ToArray(); 

獲得前三個元素,那些是隨機的和獨特的。

通常,您可以使用指定的方法here來進行子數組。