/* 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; } }