哈尔滨网站建设培训学校,怎么更改网站里的tdk,做淘宝必备的网站,网站多久需要维护前言#xff1a; 打好基础#xff0c;daydayup! 题目要求#xff1a;假设某主播时发起了抢红包活动#xff0c;五个红包金额分别为9#xff0c;666#xff0c;188#xff0c;520#xff0c;99999。粉丝按照先来先得#xff0c;随机抽取#xff0c;抽完为止#xff0…前言 打好基础daydayup! 题目要求假设某主播时发起了抢红包活动五个红包金额分别为966618852099999。粉丝按照先来先得随机抽取抽完为止每一个红包只能被抽一次先抽后抽哪个红包都是随机的请问该如何实现
编程思路有两个方法1把五个数字放入数组其内部打乱顺序然后按照先来后到的顺序取走即可方法2把五个数字放入数组粉丝抽选时随机生成一个数组内数字该数字被选中后生成数字0补位防止数字再次被随机抽到。并设计随机生成数字程序抽选到0时重新抽选。直到五个数字全部抽完提示抽奖结束。
方法1
public class hongbaodemo1 {public static void main(String[] args) {int [] hongbao {520,188,9,666,99999};la(hongbao);}public static void la(int [] hongbao){Random r new Random();for (int i 0; i hongbao.length; i) {int temp r.nextInt(hongbao.length);int num hongbao [temp] ;hongbao[temp]hongbao [i];hongbao [i] num;}Scanner sc new Scanner(System.in);for (int i 0; i hongbao.length; i) {System.out.println(请输入任意符号抽奖);sc.nextInt();System.out.println(中奖金额为 hongbao[i]);}System.out.println(抽奖结束);}}
方法2
public class hongbaodemo {public static void main(String[] args) {int [] hongbao {9,666,188,520,99999};la(hongbao);}public static void la(int [] hongbao){Random r new Random();//设计随机程序Scanner sc new Scanner(System.in);//设计输入程序for (int i 0; i hongbao.length; i) {System.out.println(请输入任意数字抽奖);sc.nextInt();while (true) {int temp r.nextInt(hongbao.length);//数组内随机生成一个数据int money hongbao[temp];if (money ! 0){System.out.println(中奖金额为 money);hongbao [temp] 0;//抽取后赋值为0break;}}}System.out.println(抽奖结束);}}总结 方法2符合大众逻辑但是消耗比较大如果池内有4个0数据1个有用数据时很有可能出现一直抽不到有用数据的情况。方法1比较简单但需要思维走偏锋。
撒花