java生成N个固定范围值的浮点数

mac2024-05-23  37

Java中Math类的random()方法可以生成[0,1)之间的随机浮点数

1.在main方法中调用

public static void main(String[] args) { double min =1; double max =5; int n=10000000; List<BigDecimal> list = randomList(min,max,n); System.out.print(list); System.out.print(list.size()); } /** * 随机指定范围内N个区间内的Decimal数 *、 * @param min 指定范围最小值 * @param max 指定范围最大值 * @param n 随机数个数 */ public static List<BigDecimal> randomList(double min, double max, int n) { List<BigDecimal> list= new ArrayList<BigDecimal>(); for (int i = 0; i < n; i++) { // 调用Math.random()方法 int num = (int) ((Math.random() *(max - min)) + min); BigDecimal nums = BigDecimal.valueOf(num*0.01); list.add(nums);// 将不同的数存入List中 } int listSize = list.size(); System.out.println(listSize); // 如果存入的数小于指定生成的个数,则调用递归再生成剩余个数的随机数,如此循环,直到达到指定大小 if (listSize < n) { randomList(min, max, n - setSize);// 递归 } return list; }

 

最新回复(0)