爱爱爱才 2016-01-07 05:02 采纳率: 55.6%
浏览 5707
已采纳

中奖概率 new Random().nextInt(1000);这样对吗

奖项 奖品 中奖概率 数量(个)
// 一等奖 免单 0.5% 5
// 二等奖 升舱 1% 10
// 三等奖 贵宾室 10% 100

这样对吗
// 大于等于0到1000之间不包括1000
        int i = new Random().nextInt(1000);
        if (i < 5) {
            System.out.println("一等奖" + i);
            break;
        } else if (i < 10) {
            System.out.println("二等奖" + i);
        } else if (i < 100) {
            System.out.println("二等奖" + i);
        } else {
            System.out.println("没中奖" + i);
        }
  • 写回答

13条回答 默认 最新

  • HyperMa0 2016-01-07 05:12
    关注

    需要你确定一下你的抽奖规则,一般来说,抽奖抽出来是不放回去的,比如抽到111号,应该是没中奖,但这个号应该就没了,你写的代码应该是抽完放回去的,有可能有2个人都抽到101,那么也有可能连续6个人都抽到一等奖,这就和你的5个一等奖矛盾了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(12条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记