一共有3分,一天可以进行无数次抽奖,最高获得3分,可以是1+1+1也可以是2+1
也可以是1+2,分别是每次抽奖获得的奖励数,这个怎么做呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
publicclass LotteryTool {
private double factor;
private double probability;
private Random rand;
private LotteryTool(double probability, long expireTime, int reduce){
this.factor = (double) System.currentTimeMillis() / expireTime;
this.probability = probability * Math.pow(factor, reduce);
this.rand = new Random(System.currentTimeMillis());
}
public static LotteryTool getInstance(double probability, longexpireTime,
int reduce) {
return new LotteryTool(probability, expireTime, reduce);
}
public boolean isLucky(long expected) {
long token = generateLong();
expected = expected % (int) (1 / probability);
if (expected == token) {
return true;
}
return false;
}