原问题是有36个人,随机分为6组我的想法是,在一维数组里分别放入36个数,利用随机函数Random选出一维数组的下标,然后把一维数组对应的值分别给二维数组赋值,当出现哪个数的时候,把...
原问题是有36个人,随机分为6组
我的想法是,在一维数组里分别放入36个数,利用随机函数Random选出一维数组的下标,然后把一维数组对应的值分别给二维数组赋值,当出现哪个数的时候,把该值移动到一维数组的最后一位,然后再循环,取随机数的时候取上次所取随机数范围-1,意思就是相当与把之前取出的数不再参与随机数的取值,下边是我自己写的,不知道错在哪,请高手帮忙看下,坐等 ·····
import java.util.*;
public class Demo1
{
public static void main(String args[])
{
int num=36;
int a[]=new int[num];
//编号
for(int i=0;i
a[i]=i+1;
int b[][]=new int[6][6];
//随机分组
for (int i=0;i<6;i++)
{
for(int j=0;j<6;j++)
{
int x=Math.abs(new Random().nextInt())%num;
b[i][j]=a[x];
for(int z=x;z
{
int t;
t=a[z];
a[z]=a[z+1];
a[z+1]=t;
}
num--;
}
}
//输出
for(int i=0;i<6;i++)
{
System.out.println("第"+(i+1)+"组成员编号为:");
for(int j=0;j<6;j++)
System.out.print(b[i][j]+" ");
System.out.println();
}
}
}
展开