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);
} }
}