/*
 1.写出男生和女生两个数组
 2.从男生随机选出四个学号,从女生中随机选出1个
 3.把选出的学号从数组中移除
 4.继续随机选学号
 5.重复步骤
 6.输出结果
 */
import java.util.Random;

public class Random1 {
    public static void main(String[] args) {
        int[] boy = { 1, 3, 4, 5, 7, 9, 10, 11, 12, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33,
                34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45 };
        int[] girl = { 2, 6, 8, 13, 14, 19, 31, 42, 43 };
        int[] a = randomCommon(0, 36, 36);
        int[] b = randomCommon(0, 9, 9);
        int c[] = new int[9];
        int d[] = new int[36];
        for (int i = 0; i < 9; i++) {
            c[i] = girl[b[i] - 1];
            
        }
        for (int j = 0; j < 36; j++) {
            
            d[j]=boy[a[j] - 1];
        }
        for(int k=0;k<9;++k){
            System.out.println("第"+(k+1)+"组");
            System.out.println("男生为:"+d[4*k]+"  \t"+d[4*k+1]+"\t"+d[4*k+2]+"\t"+d[4*k+3]+"\t"+"女生为:"+c[k]+"\t");
            System.out.println("***********************************************************");
        }
    }

    public static int[] randomCommon(int min, int max, int n) {
        if (n > (max - min + 1) || max < min) {
            return null;
        }
        int[] result = new int[n];
        int count = 0;
        while (count < n) {
            int num = (int) ((Math.random() * (max - min)) + 1);
            boolean flag = true;
            for (int j = 0; j < n; j++) {
                if (num == result[j]) {
                    flag = false;
                    break;
                }
            }
            if (flag) {
                result[count] = num;
                count++;
            }
        }
        return result;
    }
}