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;
}
posted on 2023-03-17 17:38  小黑确实不黑  阅读(16)  评论(0编辑  收藏  举报