public class test { public static int[] Randoms(int number) { Random rand = new Random(); //创建一个新随机数生成器 int nu[] = new int[7]; //创建一个7位的数组,主要是保存结果,我需要7个不重复的随机值 boolean[] bool = new boolean[number + 1]; #+1是因为在下面随机数中我为了避开传入的数,不从0开始,所以+1,如果现在这里不加1,会提示越界 int randint = 0; for (int i = 0; i < 7; i++) { do { randint = rand.nextInt(number) + 1; 生成给定的随机数 } while (bool[randint]); #是否已经生成数字, bool[randint] 默认是false,如果状态已经设置为了true,不进入状态,有执行do bool[randint] = true; //状态设置为true nu[i] = randint; } return nu; } public static void main(String[] args) { int str[] = Randoms(11); for (int i : str) { System.out.println(i); } } }