2011-10-01 103 views
1

我在做下面的事情時遇到了麻煩,不知道該怎麼做:我想填充一個用隨機數字(1-40)生成的數組,並且使它成爲如此該數字不重複。另外,有沒有辦法使陣列自己使用下一個值。所以說,我有測試[1] =「3」,然後測試[2] =「6」。無論如何要讓它進入下一個值而不是調用測試[2]?用隨機數字填充數組android_java

非常感謝

+2

你的最後3句讓*** ***沒有意義。 –

+2

[android:生成隨機數而不重複]的可能重複(http://stackoverflow.com/questions/5807512/android-generate-random-number-without-repetition) –

回答

6
List<Integer> list = new ArrayList<Integer>(); 
for(int i = 0; i < 40;) 
{ 
    int rand = ((int)(Math.random() * 40)) + 1; 
    if(!list.contains(rand)) 
    { 
     list.add(rand); 
     i++; 
    } 
} 

或:

List<Integer> list = new ArrayList<Integer>(); 
for(int i = 0; i < 40; i++) list.add(i); 
Collections.shuffle(list);