微信红包算法

来源:互联网 发布:cms监控软件说明书 编辑:程序博客网 时间:2024/04/29 08:28

2015年玩得最疯狂的应该是微信红包,在家无聊也抢了不少。闲来无事,顺便写了红包的随机算法,其实挺简单的

public class WxAlgorithm{/** * @param moneySum 输入总金额 * @param redNum 输入红包数量 */private static void wxAlgorithm(double moneySum, int redNum) {// 设置最小的金额double moneyMin = 0.01;Random random = new Random();//精确小数点2位NumberFormat formatter = new DecimalFormat("#.##");for (int i=1;i<redNum;i++){    //随机一个数,数值范围在最小值与余额之间    String money = formatter.format(random.nextDouble() * (moneySum - moneyMin) + moneyMin);    //数值转换            moneySum = Double.valueOf(formatter.format(moneySum - Double.valueOf(money)));      System.out.println("第"+i+"个红包:" + money + "元 ,余额:" + moneySum);}System.out.println("最后个红包:" + moneySum + "元 ,余额:" + (moneySum - moneySum));}public static void main(String[] args) {wxAlgorithm(10.26, 9);}}
OK了,本人这里写得很简单。
提供个大概思路,麻烦的事,应该就是这个转换吧。代码真粗糙````

未经过调试,不要复制

1 2