Java数组实现随机⽣成N-M之间不重复的随机数
接收⼀个整形数组,使⽤Math.Random每次在规定的数字范围内随机产⽣数字,然后嵌套for循环依次判断是否有重复值,如果有既外循环变量减⼀,直到把数组装满为⽌。
1/**
2    * 随机⽣成 N--M的不重复随机数
3    *
4    * @param arr        接收⼀个数组
5    * @param startRange 起始数字
6    * @param endRange  终⽌数字
7*/
8public static void getRandom(int[] arr, int startRange, int endRange) {
9for (int i = 0; i < arr.length; i++) {
10            arr[i] = (int) (Math.random() * (endRange - startRange + 1) + startRange);
11for (int j = 0; j < i; j++) {
12if (arr[i] == arr[j]) {
13                    i--;
14break;
15                }
16            }
17        }
18    }
主⽅法中可定义⼀个整形数组,然后调⽤此⽅法吧数组名传来即可
1public static void main(String[] args) {
java生成随机数的方法
2int[] arr = new int[10];
3        Random(arr, 1, 10);
4int i;
5for (i = 0; i < arr.length - 1; i++) {
6            System.out.print(arr[i] + "、");
7        }
8        System.out.println(arr[i]);
9    }
运⾏效果如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。