用数组实现随机分组 java的奥
快熄灯了,说下思路吧,建立6个数组,1个是存储28人的数组,剩下5个是要分组的数组,然后在28内生成随机数,去第一个数组里的内容分别填满剩下的5个数组
java 101个人随机分5组
import java.util.Random;
public class Foo {
public static void main(String[] args) {
int group = 5;
int men = 101;
int groupTemp = group;
Random r = new Random();
int [] radomnum = new int[group];
int[] indexs = new int[group];
Integer[][] groups = new Integer[group][men%group0?men/group+1:men/group];
int[] manArray = new int[men];
for(int i=0;igroup;i++) {
radomnum[i] = i;
}
for(int i=0;imanArray.length;i++) {
manArray[i] = i+1;
}
for(int i=0;imanArray.length;i++) {
int index = r.nextInt(groupTemp–);
int menIndex = r.nextInt(manArray.length-i);
int temp = radomnum[index];
groups[temp][indexs[temp]++]=manArray[menIndex];
radomnum[index] = radomnum[groupTemp];
radomnum[groupTemp] = temp;
if(groupTemp==0) groupTemp=group;
temp = manArray[menIndex];
manArray[menIndex]=manArray[manArray.length-i-1];
manArray[manArray.length-i-1] = temp;
}
for(int i=0;igroups.length;i++) {
System.out.print(“第”+(i+1)+”组:\t”);
for(int j=0;jgroups[i].length;j++) {
if(groups[i][j]!=null) {
System.out.print(groups[i][j]+”\t”);
}
}
System.out.println();
}
}
}
代码在上,供你参考吧,如果问题欢迎追问
Java 随机分组
有一组数据,然后你又每组需要分4个人,到底是一组数据还是多组数据呀,不知道你是不是想把一组 数据分成4份?如果是,给你个思路 ,假如你的这组数据是一个字符串数组a,你就循环a的长度次数,每次都产生一个0到a长度之间的随机数,强转成int,并记录到一个新数组里,这样一直循环取,当然,如果新数组里已经记录的数字不要重复记录,保证这个新数组里装的是唯一的数,并且这些数组里的数字,是你字符串数组的a的下标,然后循环新数组,按新数组里的值做下标去取a数组里的字符,a长度假如是20的话,每隔五个就放在一起,这样分成四份,而且取的顺序是新数组的下标来决定的,而新数组的下标又是随机生成的,。。。这样就达到随机将这组数据分成份了