package com.chinalife.action;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class CJUtil{
static List<String> nn = new ArrayList<>();
private static String getResult(double ratePer){
String result = "未中奖";
String rt = String.valueOf(ratePer);
int decimals = rt.length()-rt.indexOf(".")-1; //小数位数
int up = getMaxDecimals(decimals).multiply(new BigDecimal(rt)).intValue(); //分子化为整数
int down = getMaxDecimals(decimals).multiply(new BigDecimal(100)).intValue(); //分母
Random rand = new Random();
int luckyNum = rand.nextInt(down);
if(luckyNum>=0 && luckyNum<up){
result = "中奖";
nn.add(String.valueOf(luckyNum));
}
System.out.println(result+"------"+luckyNum);
return result;
}
private static BigDecimal getMaxDecimals(int zeroNum){
String maxInt = "1";
for (int i = 0; i < zeroNum; i++) {
maxInt += "0";
}
BigDecimal bd = new BigDecimal(Integer.valueOf(maxInt));
return bd;
}
public static void main(String[] args){
int num = 0;
int tnum = 100;
double rate = 1; //百分比,即 xx%
for (int i = 0; i < tnum; i++) {
String r = getResult(rate);
if(r.equals("中奖")){
num += 1;
}
}
System.out.println("中奖率:"+rate+"%-----"+"抽奖次数:"+tnum+"-----"+"中奖次数:"+num);
}
}