【发布时间】:2013-02-12 05:11:25
【问题描述】:
我为以下问题编写了代码,但它们不起作用。我得到随机数,但随机播放方法不会随机播放它们。你能帮帮我吗?
for( each index i)
choose a random index j where j>=i.
swap the elements at index i and j.
我的代码是:
public static void shuffle(int[] a){
for( int i = 0; i < a.length-1; i++){
int range = a.length;
int j = (int) (Math.random() * range);
swap(a, i, j);
}
}
public static void swap(int[] array, int i, int j){
if (i != j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
【问题讨论】:
-
有什么问题?你的交换方法在哪里?
-
j>=i要求发生了什么变化? -
无论如何,既然可以SHUFFLE,何必洗牌:见stackoverflow.com/questions/8116872/…
-
我不知道那会是什么代码。
标签: java