2011-04-17 44 views
0

我該如何實現這個,所以它始終是十位數字,我將如何存儲n和r,循環10次,並存儲每個循環呢?隨機數源,循環和存儲

循環隨機發生器10x創建2x10個10位數的數字。

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main() 
     { 

      F(); 
      F(); 
     } 

     static Random _r = new Random(); 
     static void F() 
     { 

      int n = _r.Next(); 
      int r = _r.Next(); 

      Console.WriteLine(n); 
      Console.WriteLine(r); 
      Console.ReadLine(); 
     } 
} 
+1

環比什麼?問題是非常不清楚的。 – BrokenGlass 2011-04-17 16:05:43

+0

如何存儲一個循環? – 2011-04-17 16:06:13

+0

抱歉循環隨機發生器需要將其循環10x以創建2x10多個10位數字 – 2011-04-17 16:06:29

回答

3

像這樣的東西可能是你在找什麼?

雖然我並不熱衷於命名約定,我不知道這些申請,所以不能準確地爲它們命名貼切自己...

static int[] randomNumberArray0 = new int[10]; 
static int[] randomNumberArray1 = new int[10]; 
static Random random = new Random(); 

static void PopulateRandomNumberArrays() 
{ 
    for (int i = 0; i < 10; i++) 
    { 
     randomNumberArray0[i] = random.Next(); 
     randomNumberArray1[i] = random.Next(); 
    } 
} 

更新:

要執行該方法然後進一步輸出在稍後的時間的值,嘗試:

static void PrintRandomNumberArrayValues(int[] array) 
{ 
    for (int i = 0; i < array.Length; i++) 
    { 
     Console.WriteLine("{0}", array[i]); 
    } 
    Console.WriteLine(); 
} 

static void Main() 
{ 
    PopulateRandomNumberArrays(); 

    PrintRandomNumberArrayValues(randomNumberArray0); 
    PrintRandomNumberArrayValues(randomNumberArray1); 

    Console.WriteLine("Press any key to exit..."); 
    Console.ReadKey(); 
} 

輸出會看起來像這樣:

2044334973 
153458690 
1271210885 
734397658 
746062572 
162210281 
1091625245 
123317926 
410432738 
989880682 

866647035 
481104609 
834599031 
1153970253 
94252627 
1041485031 
1934449666 
414036889 
1886559958 
2083967380 

進一步更新:

對於所生成的值被約束到的長度爲10位數字,這意味着最小生成的值必須大於999999999較大並且,由於int具有2,147,483,647一個最大值,小於或等於,所以:

for (int i = 0; i < 10; i++) 
{ 
    randomNumberArray0[i] = random.Next(1000000000, int.MaxValue); 
    randomNumberArray1[i] = random.Next(1000000000, int.MaxValue); 
} 

我有一種感覺,儘管如此,我仍然可能不會滿足你的需求,因爲我接下來會看到數字應該能夠表示爲0000000001,例如 - 讓我們來看看。

另一個更新:

,因爲我以爲,數字的價值不應該被限制到我們指定的範圍,而只是輸出格式正確;從而產生回覆到我原來的建議和印刷改變爲這樣:

Console.WriteLine("{0:D10}", array[i]); 
+0

對象引用錯誤? – 2011-04-17 16:15:04

+0

我的錯誤 - 缺少靜態修飾符:更新了要反映的答案。 – 2011-04-17 16:17:58

+0

這沒有做任何事情? – 2011-04-17 16:21:35

1

我想你可以使用一個元組列表來存儲和返回結果:

static List<Tuple<int,int>> F() 
{ 
    var results = new List<Tuple<int,int>>(); 
    for (int i = 0; i < 10; i++) 
    { 
     results.Add(new Tuple<int, int>(_r.Next(), _r.Next())); 
    } 
    return results; 
}