11.text--抢红包
黑马 ---- 抢红包
奖金分别有{2 , 588 , 888 , 1000 , 10000}这五个奖金。
请使用代码模拟抽奖,打印出每个奖项,奖项的出现顺序要随机且不重复
public static void main(String[] args) {
Random r = new Random();
//1.定义数组表示奖池
int[] arr = {2,588,888,1000,10000};
//2.定义新数组用于存储抽奖的结果
int[] newArr = new int[arr.length];
//3.抽奖
for (int i = 0; i < arr.length; ) {
//获取随机索引
int randomIndex = r.nextInt(arr.length);
//获取奖项
int prize = arr[randomIndex];
//判断当前奖项是否存在于新数组中,如果存在则重新抽取,如果不存在,就表示可以存放
boolean flag = contains(newArr,prize);
if(!flag){
//把当前抽取到的奖项添加到newArr当中
newArr[i] = prize;
//添加完毕,更迭索引,进行下一个随机奖项的判断
i++;
}
}
for (int i = 0; i < newArr.length; i++) {
System.out.println(newArr[i]);
}
}
//判断prize在得出的奖池中是否存在,true存在,false不存在
public static boolean contains(int[] arr,int prize){
for (int i = 0; i < arr.length; i++) {
if(arr[i] == prize){
return true;
}
}
return false;
}