0
点赞
收藏
分享

微信扫一扫

java生成随机数算法

通过下面代码可以生成随机数

package com.util;

import java.util.Random;
public class Utils {

    /**
     * 工具类 
     */

    /**
     * 生成int类型随机的数组
     * @param min  最小值
     * @param max  最大值
     * @param count 个数
     * @return
     */

    public static int[] getRandomIntArray(int min,int max,int count) {
        //得到一个最大的数组(随机数的范围)
        int len = max - min + 1;
         if (max < min || count > len) {
                return null;
            }

        //生成一个空的结果随机数组
        int [] result  = new int[count];
        //得到随机数数组
        int [] source =  new int[len];
        //给随机数数组倒序赋值
        /* 对循环进行改进  */
//        for(int i=min,j=0;j<len;i++,j++) {
//            source[len -j -1 ] = i;
//        }
        for(int i=min;i<=max;i++) {
            source[i-min] = i;
        }

        //生成随机数
        Random r = new Random();
        int index = 0;
        int random;
        for(int i = 0;i<result.length;i++) {
        random = r.nextInt();
        index = Math.abs(random % len--);
        result[i] = source[index];
        source[index] = source[len];
        }
        return result;

    }

}


举报

相关推荐

0 条评论