2011-10-01 119 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);