抽奖Demo

Categories:


//奖项
private static String[] money = { "二等奖", "三等奖", "四等奖", "五等奖", "六等奖", "七等奖", "八等奖" };
//概率
private static double[] probability = { 0.001, 0.002, 0.003, 0.004, 0.33, 0.33, 0.33 };
public static double[] realprobability;

static {
	realprobability = new double[probability.length + 1];
	realprobability[0] = 0;
	for (int i = 1; i < realprobability.length; i++) {
		realprobability[i] = realprobability[i - 1] + probability[i - 1];
	}
}

public static String runLuckyMachine() {
	double k = Math.random();
	String res = "";
	for (int i = 0; i < realprobability.length - 1; i++) {
		double vp = realprobability[i];
		double vn = realprobability[i + 1];
		if (vp <= k && k < vn) {
			res = money[i];
			break;
		}
	}
	return res;
}

public static void main(String[] args) {
	String tmp = runLuckyMachine();
	System.out.println(tmp);
}