java怎么实现生成不重复随机数

java怎么实现生成不重复随机数?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

java中要使生成的随机数不重复可以将已经生成的随机数放入到数组中,每次生成随机数时与数组的内容比较是否相等,相等则重新生成,不相等则存入数组。

示例代码如下(生成10之内的4个不相等的整数):

public class Demo {
    public static void main(String[] args) {
        int[] a = new int[]{-1,-1,-1,-1};//初始化数组
        Random random = new Random();
        int count = 0;//记录有效的随机数个数
        while(count < a.length){
            boolean flag = true;//用来标志的变量
            int r = random.nextInt(10);
            for(int i=0;i<a.length;i++){
                if(r == a[i]){
                    flag = false;
                    break;
                }
            }
            if(flag){
                a[count] = r;
                System.out.println(r);
                count++;
            }
        }
    }
}

其中的变量flag用来标志产生的随机数是否已经存在,默认值设置为true,表示不存在,flase表示该随机数已经存在。

关于java怎么实现生成不重复随机数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。