zoukankan      html  css  js  c++  java
  • 在给定范围内产生指定个数不重复的随机数

     1 public class RandomNumber {
     2     /**
     3      * 在给定范围内产生指定个数不重复的随机数
     4      * @param min 给定范围内最小值
     5      * @param max 给定范围内最大值
     6      * @param number 产生随机数的个数
     7      * @return
     8      */
     9     public static int[] createRandomNumber(int min, int max, int number){
    10         if(number > max - min + 1 || number < 1 || max < min){
    11             return null;
    12         }
    13         int[] arr = new int[number];
    14         Random r = new Random();
    15         int count = 0;
    16         while(count < number) {
    17             int randomNumber = r.nextInt(max - min + 1) + min;
    18             boolean flag = true;//这句话十分的重要,不能写在while外面,否则就是死循环了。
    19             for (int j = 0; j < number; j++) {
    20                 if(arr[j] == randomNumber){
    21                      flag = false;
    22                      break;
    23                 }
    24             }
    25             if(flag){
    26                 arr[count] = randomNumber;
    27                 count++;
    28             }
    29         }
    30         
    31         return arr;
    32     }
    33 
    34     public static void main(String[] args) {
    35         int[] arr = createRandomNumber(4, 10, 7);
    36         for (int i = 0; i < arr.length; i++) {
    37             System.out.println(arr[i]);
    38         }
    39     }
    40     
  • 相关阅读:
    Angel investor
    [HNOI 2003]消防局的设立
    [USACO 08JAN]Telephone Lines
    [Luogu 2265]路边的水沟
    [NOI 2010]航空管制
    [HNOI 2004]敲砖块
    [Luogu 1730]最小密度路径
    [USACO 13NOV]No Change
    [POJ 1006]生理周期
    [AHOI 2012]树屋阶梯
  • 原文地址:https://www.cnblogs.com/toLife/p/4343212.html
Copyright © 2011-2022 走看看