使用Random对象生成n个[a,b]区间的随机数

来源:互联网 发布:给文件加密的算法 编辑:程序博客网 时间:2024/06/05 10:58

最近在看一些排序算法,为了方便模拟数据,就写了一个方法用于生成指定个数,指定区间的 随机数


package com.util;import java.util.Arrays;import java.util.Random;/** * @author 文龙 * @version 2017-12-24 上午7:50:23 */public class SortTestHelper {/** * [3,7] * @param n生成的随机个数 * @param rangel 生成的范围 小的一个 * @param rangeR 生成的范围 大 的一个 * @return 返回一个数组 */public static int[] generateRandomArray(int n, int rangel,int rangeR) {int[] a = new int[n];//埋下种子,注意相同种子的不同Random对象,每次产生的随机数是一样的Random random = new Random(System.currentTimeMillis());for(int i = 0; i < n; i++) {/** * 比如[3,7] * 调用.nextInt(rangeR)的取值范围是[0,rangeR),不包含rangeR --> [0,7) * 对其取模(rangeR - rangel + 1)后的取值是[0,rangeR - rangel]  --> [0,4] * 到现在的取值范围是[0,4],所以想要取值的范围到[3,7],在原有基础上加上3(7-3)即可 */a[i] = random.nextInt(rangeR) % (rangeR - rangel + 1) + rangel;}return a;}public static void main(String[] args) {int[] generateRandomArray = generateRandomArray(100, 3, 7);System.out.println(Arrays.toString(generateRandomArray));}}


原创粉丝点击