永发信息网

抽红包活动java怎么实现

答案:5  悬赏:80  手机版
解决时间 2021-12-24 07:14
  • 提问者网友:遁入空寂
  • 2021-12-23 07:14
1.概率60%出现在100元以下
2.一等奖:红包累计(300以上)(概率10%)
3.二等奖:红包累计(200-220元)(概率10%)
4.三等奖:红包累计(100-120元)(概率30%)

概率50%出现在100元以下,累计是别人帮你抽红包,累计到100元以上才可以兑换奖品
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-12-23 07:47
Random random = new Random();
int i = random.nextInt(9);  //随机生成 0 到 9 之间的一个整数
if(i == 9) {
System.out.println("一等奖");
} else if (i == 8){
System.out.println("二等奖");
} else if (i <=7 && i >=5) {
System.out.println("三等奖");
} else {
System.out.println("其余的");
}这种方式不知道是不是你需要的
全部回答
  • 1楼网友:琴狂剑也妄
  • 2021-12-23 11:10
这种功能,一般都需要调用微信提供的接口来实现吧。具体的实现,应该有提供相关的api
  • 2楼网友:摆渡翁
  • 2021-12-23 09:50
我觉得你的题目有问题 60%出现 100元以下 一等奖 二等奖 三等奖 的概率加起来 有 50% 也就是出现100元以上的概率 有50% 所以你的题目有问题 你看下我的思路 定义长度为 100的数组 数组的内容是 10个1 ,10个2,30个3 ,50个4 其中 1代表1等奖 2代表 2等奖 3代表3等奖 4代表 不中奖 然后 去产生 0到99 的随机数 根据产生的随机数去数组的下标
  • 3楼网友:动情书生
  • 2021-12-23 08:59
抽红包的逻辑直接使用Random函数来实现逻辑。 下面是详细讲解:         Random random = new Random();         int num = random.nextInt(100);         double money = 0.0;         if (num >= 90) {             money = random.nextDouble() * (Integer.MAX_VALUE - 300) + 300;         }else if (num >= 80){             money = random.nextDouble() * (220 - 200) + 200;         }else if (num >= 50){             money = random.nextDouble() * (120 - 100) + 100;         }else{             money = random.nextDouble() * 99;         }
  • 4楼网友:琴狂剑也妄
  • 2021-12-23 08:44
比如10个红包,产生一到十的随机数,对应抽取即可 Random random = new Random(); int num = random.nextInt(100); double money = 0.0; if (num >= 90) { money = random.nextDouble() * (Integer.MAX_VALUE - 300) + 300; }else if (num >= 80){ money = random.nextDouble() * (220 - 200) + 200; }else if (num >= 50){ money = random.nextDouble() * (120 - 100) + 100; }else{ money = random.nextDouble() * 99; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯