有没有现成的api能用
时间: 2024-02-21 12:00:54 浏览: 16
Java中的Random类可以用来生成随机数,但是它并没有直接提供生成指定概率分布的随机数的API。不过,可以借助一些算法来实现生成符合指定概率分布的随机数。其中比较常用的是使用权重(Weight)数组的方法。
具体来说,可以先定义一个包含0和1的权重数组,例如`{0.3, 0.7}`,表示0的权重为0.3,1的权重为0.7。然后,生成一个随机数r,取值范围为[0,1),如果r小于0.3,则返回0;否则返回1。
以下是示例代码:
```
import java.util.Random;
public class RandomDemo {
private static final double[] WEIGHTS = {0.3, 0.7};
private static final Random RANDOM = new Random();
public static int randomZeroOne() {
double r = RANDOM.nextDouble();
if (r < WEIGHTS[0]) {
return 0;
} else {
return 1;
}
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(randomZeroOne());
}
}
}
```
在以上示例代码中,`WEIGHTS`数组定义了0和1的权重,`RANDOM`对象用于生成随机数,`randomZeroOne`方法根据权重生成随机数,`main`方法中循环调用`randomZeroOne`方法来生成10个随机数。