2010-03-27 144 views
3

如何從數組生成隨機數?而不是從一個範圍。如何從陣列生成隨機數

int n [] = {1,7,3,5,8,10,33,12,18} 
+0

可能的重複[如何用給定的數字列表中的Java生成隨機數](http://stackoverflow.com/questions/1247915/how-to-generate-a-random-number-with-java- from-given-list-of-numbers) – Mark 2012-05-08 14:16:26

+0

目前還不清楚這個問題在問什麼。你想從這個數組中隨機選擇一個數字,然後返回這個數字嗎? – 2013-03-07 21:19:54

回答

15
import java.util.Random; 

... 

Random random = new Random(); 
System.out.println(n[random.nextInt(n.length)]); 
+0

謝謝你:-)你真棒! – Jessy 2010-03-27 00:29:00

+0

請注意,您應該在某個字段中緩存「隨機」實例,而不是在每次需要隨機數時創建一個新實例。 – Joey 2010-03-27 00:43:32

+0

只要隨機靜態。 – 2010-03-27 01:04:02

0

一般地說,得到一個隨機整數範圍從最小值0到最大值數組長度-1,並且使用它作爲數組索引。