需求:一个大V直播时发起了抢红包活动,分别有: 9、666、 188、 520、 99999五个红包。请模拟粉丝来抽奖, 按照先来先得,随机抽取,抽完即止,注意: 一个红包只能被抽一次,先抽或后抽哪一个红包是随机的。
源代码:
import java.util.Scanner;
import java.util.Random;
public class method {
public static void main(String[] args) {
//需要接收一个数组,里面是五个金额表示五个红包
//不需要返回数据,结果直接在方法中
int[] moneys={9,66,188,520,99999};
start(moneys);
}
public static void start(int[]moneys) {
//moneys ={9,66,188,520,99999}
// 0 1 2 3 4
Scanner sc = new Scanner(System.in);
Random r = new Random();
//1.定义一个for循环,控制抽奖五次
for (int i = 1; i <= 5; i++) {
//2.提示粉丝抽奖
System.out.println("请输入任意内容进行抽奖:");
sc.next();//等待用户输入内容,按了回车才往下走
//3.为当前这个粉丝找一个随机的红包出来
while (true) {//死循环
int index = r.nextInt(moneys.length);//0-4
int money = moneys[index];
//判断这个红包是否不为0
if (money != 0) {
System.out.println("恭喜你,抽中了红包:" + money);
moneys[index] = 0;
break;//结束抽奖
}
}
}
System.out.println("红包已被领取完。。。");
}
}
运行效果: