抢红包时随机红包的生成算法

发布于 2020-03-02 21:40:04

求几个抢红包时的随机金额红包生成算法。

查看更多

关注者
0
被浏览
41
1 个回答
bobneo
bobneo 认证专家 2020-03-02
为自由而编程,因编程而自由。联系QQ:632906391

知乎大神的一个参考答案

public static double getRandomMoney(RedPackage _redPackage) {
    // remainSize 剩余的红包数量
    // remainMoney 剩余的钱
    if (_redPackage.remainSize == 1) {
        _redPackage.remainSize--;
        return (double) Math.round(_redPackage.remainMoney * 100) / 100;
    }
    Random r     = new Random();
    double min   = 0.01; //
    double max   = _redPackage.remainMoney / _redPackage.remainSize * 2;
    double money = r.nextDouble() * max;
    money = money <= min ? 0.01: money;
    money = Math.floor(money * 100) / 100;
    _redPackage.remainSize--;
    _redPackage.remainMoney -= money;
    return money;
}

原文链接

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览