毫不犹豫引入Random工具(当然也可以用Math函数生成);
定义一个长度为5的数组,使用二重循环,外层新增,内层判断;
首先我们要知道生成出来的随机数和数组里面的数都不相等才会赋值于数组,所以外层循环我们先声明一个整型变量来保存每一次生成的随机数,然后再内层循环去判断,可以先声明一个布尔类型的标记为true,然后内层循环的次数直接小于外层循环就行了,没必要再去把数组里面的每个元素循环比较一遍(那样会大大降低你的代码效率),因为再数组里面还没有新增元素时,所有的下标对应元素都是有默认值为0的,里面的判断条件找到相同的就把布尔标记成false;然后再内层循环结束后我们可以判断标记是否为true,如果为true,我们才会把上面保存的随机数赋值给数组[i]下标(上面已经提到过了 外层新增),然后外层循环次数再++;
反之如果找到相同 标记为false,当然就不会进入我们下面的判断条件里面,外层次数就没有++;下再次进入循环还是从0开始,找到相同的再++;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24public 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生成不重复内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复