2013-12-09 123 views
-1

好的,我應該創建一個程序,生成50個隨機數,每個數在0到49之間,並打印出每個數的生成數。結果,我一直得到0.0,當我運行該程序時,我做錯了什麼?計數生成的隨機數

import java.util.*; 
import java.util.Random; 
public class randomArray{ 
    public static void main (String args[]){ 
     int min = 0; 
     int max = 49; 
     Random r = new Random(); 
     int i = r.nextInt(max - min + 1) + min; 
     double[] numbers = new double[i]; 
     System.out.println(numbers[4]); 
    } 
} 
+2

你不會填滿你的'數字'數組。 –

+0

你只是在索引4處打印一個數字。'double's intitialized爲'0.0',你永遠不會改變它。 – iamnotmaynard

+1

請爲您的問題使用正確的標題。如果有人遇到類似於您的問題,他們可能會搜索關於隨機數字的生成,而不是「做這項工作」。 – kviiri

回答

3

如果您需要生成50個數字,那麼您應該這樣做,通常在for循環中。我看到你只用你的代碼生成一個隨機數。

由於這是家庭作業,我去給你的一般性建議,而不是代碼:

  • 創建的50個整數數組,說叫myIntArray
  • 使用for循環,循環50次。最好從i = 0i < myIntArray.length而不是i < 50。這很重要,因爲如果你改變了數組的大小,你的for循環會自動循環正確的次數,而不必改變它。
  • 在循環中,獲得您的隨機數,稱爲randomNumber,並打印出來。
  • 然後使用該randomNumber作爲數組項的索引並增加該值。即,myIntArray[randomNumber]++
+2

並使用該隨機數作爲數組的大小,這是沒有意義的。 – iamnotmaynard

+0

爲什麼使用HashMap而不是數組? – kviiri

+0

大概在課堂上還沒有碰到過哈希。它可以用一個'int'數組來完成。 (可能還沒有觸及'Integer'包裝器。) – iamnotmaynard