如何制作一段能够偶然生成我位图的代码。我希望bitmap1有50%的机会,bitmap2有50%的机会,bitmap3有20%的机会。我可以就如何做到这一点获得一些建议吗?
我知道怎么做五十五岁:
Random r = new Random();
int randBall = r.nextInt(2);
if (randBall == 0) {
return Gball;
} else if (randBall == 1) {
return Bball;
}
但如果我想再增加一个20%的产卵机会,我不知道该怎么做。
答案 0 :(得分:3)
您可以使用java Random.nextInt(int)方法
致电nextInt(100);
并使用
int p1 = 30;
int p2 = 50;
if ( n < p1 )
return GBall;
else if ( n >= p1 && n < p1 + p2 )
return BBall;
else // n < 100, always holds
return RBall;
答案 1 :(得分:2)
所以你总共有120%:)。但如果你的意思是50/30/20发布:
randBall = r.nextInt(10);
if (randBall < 5) return bitmap1;
else if (randBall < 8) return bitmap3;
else { return bitmap2; }
答案 2 :(得分:2)
使用浮点数:
r = random number between 0.0 and 1.0
if (r < 0.2) { do something with 20% probability)}
else if (r < 0.9) {do something with 70% probability}
else {do something with remaining 10% probability}