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

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

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

查看更多

浏览量
2981
猫哥
猫哥 项目组成员 2020-03-02
希望我的回答能对你有所帮助

知乎大神的一个参考答案

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;
}

原文链接

1 个回答

学习
记录

发布
问题

分享
好友

手机
浏览

扫码手机浏览