模拟微信红包算法

本文探讨了两种微信红包分配算法:一种是将金额分成指定份数,在自己的份额中随机选择;另一种是从总金额中随机抽取一份,递减份数,再在剩余金额中随机抽取,直至完成分配,同时确保金额保留两位小数。
摘要由CSDN通过智能技术生成

1.第一种(自己想的) money  count 将money分成count份 在自己的count份里面随机选择

/**

    * 随机红包(最后拆红包的在数组里面再随机选择)
    * @param money
    * @param count
    * @return
    * @see[类、类#方法、类#成员]
    */
    public static double[] randomMoney(double money, int count)
    {
        //生成一个随机数组
        double[] randomArr = new double[count];
        //计算每个数组应该有多少钱 90 元 3 份  0-30 0-30 90 -- 抽到的
        double range = money / count;
        int i = 0;
        while (i < count - 1)
        {
            BigDecimal b = new BigDecimal(Math.random() * range);
            double m = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
            randomArr[i] = m;
            money = money - m;
            i++;

        }

//保留2位小数

        BigDecim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值