zoukankan      html  css  js  c++  java
  • Java数组实现随机生成N-M之间不重复的随机数

    接收一个整形数组,使用Math.Random每次在规定的数字范围内随机产生数字,然后嵌套for循环依次判断是否有重复值,如果有既外循环变量减一,直到把数组装满为止。

     1   /**
     2      * 随机生成 N--M的不重复随机数
     3      *
     4      * @param arr        接收一个数组
     5      * @param startRange 起始数字
     6      * @param endRange   终止数字
     7      */
     8     public static void getRandom(int[] arr, int startRange, int endRange) {
     9         for (int i = 0; i < arr.length; i++) {
    10             arr[i] = (int) (Math.random() * (endRange - startRange + 1) + startRange);
    11             for (int j = 0; j < i; j++) {
    12                 if (arr[i] == arr[j]) {
    13                     i--;
    14                     break;
    15                 }
    16             }
    17         }
    18     }

    主方法中可定义一个整形数组,然后调用此方法吧数组名传来即可

    1 public static void main(String[] args) {
    2         int[] arr = new int[10];
    3         Test03.getRandom(arr, 1, 10);
    4         int i;
    5         for (i = 0; i < arr.length - 1; i++) {
    6             System.out.print(arr[i] + "、");
    7         }
    8         System.out.println(arr[i]);
    9     }

    运行效果如下:

  • 相关阅读:
    编辑语言发展历史
    正则表达式
    css
    伪类和伪元素区别
    WEB 之API端口
    event flow (Dow)
    for衍生对象
    前端语言的发展
    document
    password user message email的正则表达式
  • 原文地址:https://www.cnblogs.com/lwl80/p/13354502.html
Copyright © 2011-2022 走看看