思路
为了不让最终生成的红包值多少相差太悬殊,先得到红包平均值,然后具体的红包值在这个平均值上下浮动,具体浮动多少由系统指定,注意该值范围在[0,平均数之间)
具体实现:
- 根据用户输入的总金额、总人数、浮动范围,求得红包上限和下限
- 先给每个红包中塞入平均值金额,并求得剩余金额
- 产生随机的红包值,范围在[0,浮动范围)
- 当剩余金额-随机的红包值>=0时: 随机往一个红包里面塞入随机的红包值,当原红包值+随机的红包值不大于上限里放进去,大于上限时,重新产生随机数
- 当剩余金额-随机的红包值 high) { //如果红包总值小于等于最大值
index = (int) (Math.random() * (person )); //获取List下标
tmp = data.get(index);
}
data.set(index, tmp + rand);
shengYu = shengYu - rand;
//进行下一次循环
rand = (int) (Math.random() * (range) + 1);//产生[1,range]之间的随机数
}
//最后修正
if(shengYu - rand high) { //如果红包总值小于等于最大值
index = (int) (Math.random() * (person )); //获取List下标
tmp = data.get(index);
}
data.set(index, tmp + shengYu);
}
//输出结果
int sum = 0;
for (int i = 0; i
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?