譬如有若干个奖品, 当客户触发某事件的时候, 就会根据这些奖品各自的概率抽取一份奖品出来应该怎么实现呢?
例:
GiftA : 50%
GiftB : 15%
GiftC : 25%
GiftD : 10%
------解决方案--------------------
int n = 50;
Random r = new Random();
if(r.nextInt(100)+1 <= n) {
//........
}
------解决方案--------------------
把礼物排成100长度的队列,然后GiftA : 50% 占领 a[0]--a[49]
这样在100数组里面随便random出来一个下标不就搞定了么
------解决方案--------------------
public static void main(String[] args) {
Random random = new Random();
int a = 50;
int b = 15;
int c = 25;
int d = 10;
int ra = random.nextInt(100);
if(ra <=a){
System.out.println( "a ");
}else if(a <ra&&ra <=a+b){
System.out.println( "b ");
}else if(a+b <ra&&ra <=a+b+c){
System.out.println( "c ");
}else if(a+b+c <ra&&ra <=a+b+c+d){
System.out.println( "d ");
}
}
本人不才,方法有点笨
------解决方案--------------------
用摇号的来了。编写什么程序,麻烦。