使用Android百分比生成完整随机数

时间:2014-10-21 10:39:15

标签: android random integer

我正在尝试使用百分比生成随机数,如下所示:

60%的几率生成从70到100的数字,

有20%的机会从50到70生成数字

等等 然后把它放在TextView中。但由于某种原因,我得到一些奇怪的长十进制数字,如0.44859123121等,我怎样才能生成完整的数字?喜欢99,80,70等 这是我的代码:

Random rng = new Random();

    double doubl = Math.random();
            if (doubl < 0.6) {
                int r1 = rng.nextInt(100 - 70) + 70;
                // 60% chance 
            } else if (doubl < 0.65) {
                int r1 = rng.nextInt(0 - 30) + 0;
                // 5%
            } else if (doubl < 0.80) {
                // 15% chance 
                int r1 = rng.nextInt(30 - 50) + 30;
            } else {
                // 20% chance
                int r1 = rng.nextInt(50 - 70) + 50;
            }

            result.setText(doubl+"%");

1 个答案:

答案 0 :(得分:2)

将生成的随机整数r1放在结果中,而不是doubl,它是0到1之间的随机数。

同时修复对nextInt()的调用,以便您不会使用负值调用它。例如70 - 50而不是50 - 70