生成5个不重复的随机数,重复则重新生成一个。
import java.util.Arrays;
import java.util.Random;
public class Test01 {
public static void main(String[] args) {
/*
生成5个随机数[0-100],不重复,重复重新生成
放进数组中
*/
Random random = new Random();
int[] arr = new int[5]; // 数组目前全是0,无法判断是生成的还是初始的0
// 初始化为-1
Arrays.fill(arr, -1);
int index = 0;
while (index < arr.length){
int num = random.nextInt(101); // 生成随机数
// 判断arr数组中有没有num
// 如果没有就放进去,有就重新生成
if(!isHave(arr, num)){
arr[index++] = num;
}
}
Arrays.sort(arr); // 可以省略,我排序了一下,方便查看
System.out.println(Arrays.toString(arr));
}
public static boolean isHave(int[] arr, int nums){
// boolean res = false; // false代表数组中没有该随机数 true代表有
for (int i : arr) { // 增强for循环,for each element in arrayName do {...}
if (i == nums) {
return true;
}
}
return false;
}
}