我是靠谱客的博主 苗条灰狼,最近开发中收集的这篇文章主要介绍java生成不重复的随机数(面试题);,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

毫不犹豫引入Random工具(当然也可以用Math函数生成);

定义一个长度为5的数组,使用二重循环,外层新增,内层判断;

首先我们要知道生成出来的随机数和数组里面的数都不相等才会赋值于数组,所以外层循环我们先声明一个整型变量来保存每一次生成的随机数,然后再内层循环去判断,可以先声明一个布尔类型的标记为true,然后内层循环的次数直接小于外层循环就行了,没必要再去把数组里面的每个元素循环比较一遍(那样会大大降低你的代码效率),因为再数组里面还没有新增元素时,所有的下标对应元素都是有默认值为0的,里面的判断条件找到相同的就把布尔标记成false;然后再内层循环结束后我们可以判断标记是否为true,如果为true,我们才会把上面保存的随机数赋值给数组[i]下标(上面已经提到过了 外层新增),然后外层循环次数再++;

反之如果找到相同 标记为false,当然就不会进入我们下面的判断条件里面,外层次数就没有++;下再次进入循环还是从0开始,找到相同的再++;

public static void main(String[] args) {
        //工具
        Random ran = new Random();
        //定义整型长度为5的数组
        int nums[] = new int[5];
        for (int i = 0; i < 5; ) {
            int a = ran.nextInt(10) + 1;
            //默认boo为true  找到重复的标记为false;
            boolean boo = true;
            for (int j = 0; j < i; j++) {
                if (nums[j] == a) {
                    boo = false;
                }
            }
            if (boo) {
                nums[i] = a;
                i++;
            }
        }
        //遍历打印
        for (int i = 0; i < nums.length; i++) {
            System.out.println(nums[i]);
        }
}

有不懂得可以评论区;

最后

以上就是苗条灰狼为你收集整理的java生成不重复的随机数(面试题);的全部内容,希望文章能够帮你解决java生成不重复的随机数(面试题);所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(94)

评论列表共有 0 条评论

立即
投稿
返回
顶部