LuckyKit.java 1.6 KB
package com.teplot.lucky;

import java.util.Random;

/**
 * Depiction: 红包生成工具
 * <p>
 * Modify:
 * <p>
 * Author: Kevin Lynn
 * <p>
 * Create Date:2017年9月18日 上午10:27:41
 * 
 */
public class LuckyKit {

	static Random random = new Random();
	static {
		random.setSeed(System.currentTimeMillis());
	}

	public static void main(String[] args) {
		long money = 1000000l;
		long count = 5000l;

		long sum = 0;

		LuckyMoney lucky = new LuckyMoney(money, count, 0);
		for (int i = 0; i < count; i++) {
			lucky = generate(lucky);
			System.out.println("第" + (i + 1) + "个红包金额-->" + lucky.getLuckyMoney() + "分");
			sum += lucky.getLuckyMoney();
			
			if(lucky.getLuckyMoney()>400){
				System.out.println("=========超过平均值的红包金额-->" + lucky.getLuckyMoney() + "分=========");	
			}
		}

		System.out.println("红包总额度-->" + sum + "分");
	}

	/**
	 * 
	 * @param lucky
	 * @return {@link LuckyMoney}
	 */
	public static LuckyMoney generate(LuckyMoney lucky) {
		if (lucky == null || lucky.getLeftCount() == 0 || lucky.getLeftMoney() == 0) {
			return null;
		}

		if (lucky.getLeftCount() != 1) {
			int luckyMoney = random.nextInt(lucky.getMax());
			if (luckyMoney < 1) {
				luckyMoney += 1;
			}

			lucky = new LuckyMoney(lucky.getLeftMoney() - luckyMoney, lucky.getLeftCount() - 1, 0);
			lucky.setLuckyMoney(luckyMoney);
		} else {
			int luckyMoney = (int) lucky.getLeftMoney();
			lucky = new LuckyMoney(lucky.getLeftMoney() - luckyMoney, lucky.getLeftCount() - 1, 0);
			lucky.setLuckyMoney(luckyMoney);
		}
		return lucky;
	}

}