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小时内删除。
发表评论