生成5个不同的随机数

79 阅读1分钟

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