您的位置:首页 > 编程语言 > Java开发

java 根据给定的最小值和最大值生成指定数量的随机数

2017-06-12 12:01 513 查看
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class RandomTest {
public static void main(String[] args) throws Exception {
System.out.println(createRandomList(5, 1, 10));
}

/**
*  创建指定个数,指定最小值,最大值的随机数
* @author ztd
* @param count 随机数个数
* @param minVal 随机数最小值
* @param maxVal 随机数最大值
* @return
*/
public static List<Integer> createRandomList(int count, Integer minVal, Integer maxVal) {
List<Integer> integers = new ArrayList<Integer>();
for(int i =0; i < count; i ++) {
integers.add(createNewRandomKey(integers, minVal, maxVal));
}
return integers;
}

/**
*  创建一个不重复的随机数
* @author ztd
* @param keys
* @param minVal
* @param maxVal
* @return
*/
private static Integer createNewRandomKey(List<Integer> keys, Integer minVal, Integer maxVal) {
Integer v = createRandomKey(minVal, maxVal);
while(keys.contains(v)) {
v = createRandomKey(minVal, maxVal);
}
return v;
}

/**
*  创建一个在范围内的随机数
* @author ztd
* @param minVal
* @param maxVal
* @return
*/
private static Integer createRandomKey(Integer minVal, Integer maxVal) {
Integer v  = new Random().nextInt(maxVal);
if(v <= minVal) {
v = v +minVal;
}
return v;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java