请教一个按比例出随机数的算法

qad1 2008-04-08 04:36:45
有1/2/3三个数字,做个取随机数的算法
按照30%几率随机出1
20%几率随机出2
50%几率随机出3
请帮忙写一个,谢谢

有没有简洁、经典一点的方法
...全文
326 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jayflee 2008-04-08
  • 打赏
  • 举报
回复

调用方式:

public static void main(String[] args) {
int[] x1={3 ,2, 5 };
int[] x2={1 ,2, 3 };
for(int i=0;i<100;i++){
System.out.println(RateRandom(x1,x2));
}
}


方法:


public static int RateRandom(int[] rate,int []value){
int total=0;
for(int i=0;i<rate.length;i++){
total+=rate[i];
}
Random r=new Random();
int t=r.nextInt(total);
System.out.print(t +" ");
for(int i=0;i<rate.length;i++){
t=t-rate[i];
if(t<0){
return value[i];
}
}
return 0;
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧