❶ 關於java數組的隨意打亂,像圖中的做法不會出現重復嗎比如兩個math.random 都等於0.
不會,隨機數都相等,自己跟自己交換又沒關系。你這本書是java語言程序設計,李娜翻譯的。它還有一本進階版。隨機打亂數組而已,而且還是偽隨機,藏!
❷ Java打亂數組
void srand(int[] a){
int len=a.length;
//如果數組元素不足3,則沒必要運算,特別是當數組只有一個元素時,會進入死循環
if(len<3){
return;
}
Random r=new Random();
for(int i=0,n=0,temp=0;i<len;i ){
//隨機生成一個位置,兩個位置的元素互換
do{
n=r.nextInt(len);
}while(n==i);
//交換元素
temp=a[i];
a[i]=a[n];
a[n]=temp;
}
}
❸ 【java】求助怎麼把一個數組元素隨機打亂順序,謝謝~~~
暈.不用那麼麻煩.
先轉化為list(為什麼不一開始就用List呢?)
例:
String[] arr = new String[] {"1", "2"};
List list = Arrays.asList(arr);
直接調用shuffle,就是隨機排序
例:Collections.shuffle(list);
直接輸出就是你想要的結果