❶ 关于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);
直接输出就是你想要的结果