使用Random对象生成n个[a,b]区间的随机数
2017-12-24 09:50
330 查看
最近在看一些排序算法,为了方便模拟数据,就写了一个方法用于生成指定个数,指定区间的 随机数
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
;
//埋下种子,注意相同种子的不同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));
}
}
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
;
//埋下种子,注意相同种子的不同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));
}
}
相关文章推荐
- Random使用和生成某区间的随机数
- 使用Random生成各种要求的随机数
- 使用/dev/random生成随机数
- 使用 RandomStringUtils 类来生成随机码/随机数
- java.unit工具类的使用(Arrays类进行排序,查找;Random生成随机数)
- Unity使用Random每次生成与上次不一致的随机数
- 使用Math.random生成随机数
- 使用 RandomStringUtils 类来生成随机码/随机数
- 随机生成一个n bit位的长整数(随机函数的使用,特定区间随机数的生成方法)
- Java 基础 分别使用Math和Random生成随机数
- 使用/dev/random生成随机数
- 为什么要使用ThreadLocalRandom代替Random生成随机数
- java 使用Random和Math.random()去生成10以内的随机数
- JavaSE8基础 Random 使用无参构造函数,即默认种子生成随机数
- 使用Random类生成随机数
- JavaScript 使用random()在一个范围内生成随机数
- 使用Random类生成指定范围的随机数
- 不使用Math.random方法生成随机数(随机数生成器)
- Android 使用Random生成随机数
- 在使用Math.random()生成6位随机数遇到的问题,并成功得到6位随机数