java根据平均值随机数个数生成随机数
时间: 2024-08-02 09:01:33 浏览: 83
java生成抽样随机数的多种算法
在Java中,如果你想要根据给定的平均值生成一定数量的随机数,可以使用`java.util.Random`类配合`nextInt()`方法。首先,你需要创建一个Random对象,并确定范围,因为`nextInt()`方法通常返回0(包含)到指定上限(不包含)之间的整数。假设你想生成n个服从正态分布即平均值为average的随机数,可以这样做:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomNumbers {
public static void main(String[] args) {
int average = 50; // 平均值
int n = 10; // 需要生成的随机数个数
List<Integer> randomList = generateRandomNumbers(average, n);
System.out.println("随机数列表: " + randomList);
}
// 函数生成指定个数、平均值附近的随机数
private static List<Integer> generateRandomNumbers(int average, int n) {
Random rand = new Random();
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < n; i++) {
double randomDouble = average + rand.nextGaussian(); // 使用正太分布产生随机数
// 如果需要将结果限制在整数范围内,你可以使用Math.round()函数
// numbers.add((int)Math.round(randomDouble));
// 或者直接取整
numbers.add(Math.round(randomDouble));
}
return numbers;
}
}
```
在这个例子中,我们通过`nextGaussian()`方法生成接近平均值的随机数,然后使用`round()`将其转换为整数。注意,`nextGaussian()`生成的是标准正态分布,如果你想生成其他分布的随机数,可能需要额外的处理。
阅读全文