Java生成5个不同的随机数
public class demo {
public static void main(String[] args) {
//生成5个不重复的随机数(0-4)
int[] arr = new int[5];
//初始化数组所有的值为-1
Arrays.fill(arr,-1);
Random random = new Random();
for (int i = 0; i < arr.length;) {
int rd = random.nextInt(5);
//判断随机数是否重复,不重复就i++
if (!isHaving(arr,rd)){
arr[i] = rd;
i++;
}
}
System.out.println(Arrays.toString(arr));
}
public static boolean isHaving(int[] arr, int num){
for (int i : arr) {
if(i == num){
return true;
}
}
return false;
}
}
讨论:
需求:公司开发部5名开发⼈员,要进⾏项⽬进展汇报演讲,现在采取随机排名后进⾏汇报。 请先依次录⼊5名员⼯的⼯号,然后展示出⼀组随机的排名顺序
public class Topic7 {
public static void main(String[] args) {
int[] userId = new int[5];
int[] rank = new int[5];
Arrays.fill(rank,-1);
Random rd = new Random();
int index = 0;
while (index < rank.length){
int num = rd.nextInt(5);
if(!isHaving(rank, num)){
rank[index++] = num;
}
}
Scanner sc = new Scanner(System.in);
for (int k = 0; k < userId.length; k++) {
userId[rank[k]] = sc.nextInt();
}
System.out.println(Arrays.toString(userId));
}
public static boolean isHaving(int[] arr,int rd){
for (int j : arr) {
if (rd == j) {
return true;
}
}
return false;
}