用Java编写一个产生多个随机数的软件要求在五个特定范围内,产生多个随机数,还可以控制这些产生的随机数在特定范围内所占的百分比.哪个高手能帮我用Java解决一下这个问题,
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/29 23:42:53
用Java编写一个产生多个随机数的软件要求在五个特定范围内,产生多个随机数,还可以控制这些产生的随机数在特定范围内所占的百分比.哪个高手能帮我用Java解决一下这个问题,
用Java编写一个产生多个随机数的软件
要求在五个特定范围内,产生多个随机数,还可以控制这些产生的随机数在特定范围内所占的百分比.哪个高手能帮我用Java解决一下这个问题,
用Java编写一个产生多个随机数的软件要求在五个特定范围内,产生多个随机数,还可以控制这些产生的随机数在特定范围内所占的百分比.哪个高手能帮我用Java解决一下这个问题,
原理假设要产生100个随机数.
分别为range ABCDE
A的随机数比例为PA.则先产生PA*100个随机数.放入一个数组中.然后再产生PB*100个随机数..依次类推..但是在数组中的随机数在范围和范围之间不是随机的,所以又建立了一个arraylist..随机取出这些比例上正确有随机性的随机数...
总之是比较没有效率的做法...
还写了验证函数和打印函数...
基本上验证没有问题.
小女子很认真滴在回答了~~~~~飘~~~
import java.util.ArrayList;
public class RandomProducer {
private int rangeA1,rangeA2;
private int rangeB1,rangeB2;
private int rangeC1,rangeC2;
private int rangeD1,rangeD2;
private int rangeE1,rangeE2;
private double percentageA,percentageB,percentageC,percentageD,percentageE;
//存放产生的随机数的数组
public ArrayList arrayVector=new ArrayList();
//构造函数
public RandomProducer(int a1,int a2,double PA,int b1,int b2,double PB,
int c1,int c2,double PC,int d1,int d2,double PD,int e1,int e2,double PE)
{
rangeA1=a1;
rangeA2=a2;
rangeB1=b1;
rangeB2=b2;
rangeC1=c1;
rangeC2=c2;
rangeD1=d1;
rangeD2=d2;
rangeE1=e1;
rangeE2=e2;
percentageA=PA;
percentageB=PB;
percentageC=PC;
percentageD=PD;
percentageE=PE;
}
//获取随机数.count表示要获取多少个这样的随机数.
public void getRandomNum(int count)
{
ArrayList array=new ArrayList();
if( (percentageA+percentageB+percentageC+percentageD+percentageE)!=1)
System.out.println("比例分配有误");
else
{
for(int i=0;i