偶然生成位图

时间:2012-09-18 14:22:58

标签: android

如何制作一段能够偶然生成我位图的代码。我希望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%的产卵机会,我不知道该怎么做。

3 个答案:

答案 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}