前言
将数组中的数据以随机分为两组且两组数据中不可有重复值。例如:String[]role = {“安琪拉”,“白起”,“妲己”,“狄仁杰”,“典韦”,“韩信”,“老夫子”,“刘禅”,“鲁班七号”,“墨子”,“孙膑”,“孙尚香”,“孙悟空”,“项羽”,“亚瑟”,“周瑜”,“庄周”,“蔡文姬”};
分为group1[]、group2[]这两个数组。
一、for循环
最能体会到,如何乱序,以及如何将打乱的数据分别存入两个数组中。
1.代码块
String[] role = {
"安琪拉","白起","妲己","狄仁杰",
"典韦","韩信","老夫子","刘禅",
"鲁班七号","墨子","孙膑","孙尚香",
"孙悟空","项羽","亚瑟","周瑜","庄周","蔡文姬"};
//将数组中的顺序打乱
//1.将当前role 数组中的元素随机打乱
//解析:产生role.length个不重复的随机数,范围0-role.lenght-1
int indexArray[] = new int[role.length];
label:
for(int i=0;i<indexArray.length;i++){
//根据数组大的长度,产生随机数(0至role.length-1的范围)
int rand = (int)(Math.random()*indexArray.length);
//判断产生的随机数是否有重复
for (int k = 0;k<i;k++){
if(indexArray[k]==rand){
i--; //相当于重新生成这个位置上的数
continue label;
}
}
//没有发现重复的下标,则保存
indexArray[i] = rand; //产生的随机下标保存在数组中
}
//创建两个数组用来保存打乱的数据
//分别用两个数组来保存
int midIndex = indexArray.length/2;
int len &