由于项目工作需求,需要一种随机数生成的法,可自定义概率和长度。遍观网上各大平台,无法找到满足需求的方法,于是动手自己写了一个实现类。手拙,望批评建议。
1、自定义MathRandom类实现
import java.util.ArrayList;
import java.util.List;
public class MathRandom
{
private Listprobability;//随机数生成的概率列表
private int high;//随机数的范围(0-high)
public MathRandom(int block) {
this.probability = new ArrayList(block);
this.high = block;
}
/*
* 初始化概率表,判断概率之和是否为1
*/
public boolean init(Listprob) {
double count= 0 ;
for(double i : prob)
count = count + i;
if(count == 1)
{
for(int i = 0 ;i< prob.size();i++)
this.probability.add(prob.get(i));
return true;
}
else
return false;
}
/*
* 生成随机数&#