【问题标题】:Generate Full Random Number with Percentage Android生成具有百分比 Android 的完整随机数
【发布时间】:2014-12-16 13:24:15
【问题描述】:

我正在尝试生成带有百分比的随机数,如下所示:

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+"%");

【问题讨论】:

    标签: android random integer


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-12
      • 1970-01-01
      • 2018-06-23
      • 2012-12-21
      • 2017-07-16
      • 1970-01-01
      • 2012-02-11
      • 2014-02-04
      相关资源
      最近更新 更多