抢红包系统---(java)

 需求:直播抽奖活动,分别有【2,588,888,1000,10000】五个奖金,模拟抽奖。打印每个奖项,奖项的出现顺序随机但不重复。

package demo;

import java.util.Random;

/*
* 案例;抢红包
* 需求:直播抽奖活动,分别有【2,588,888,1000,10000】五个奖金,模拟抽奖。打印每个奖项,奖项的出现顺序随机但不重复
*
* */
public class RobRedPack {
    public static void main(String[] args) {
        //1.定义数组表示所有的奖项
        int [] arr = {2,588,888,1000,10000};
        //2.定义新数组保存抽取的结果
        int [] newarr = new int[arr.length];
        Random r = new Random();
        for (int i = 0; i < arr.length; ) {
            int randomIndex = r.nextInt(arr.length);
            int price = arr[randomIndex];
            boolean flag = contains(newarr,price);
            if(!flag){
                //把当前抽取到的奖项放入newarr当中
                newarr[i] = price;
                i++;
            }

        }
        for (int j = 0; j < arr.length; j++) {
            System.out.println(newarr[j]);
        }


    }
    //抽奖的过程



    /*
    * 用来判断price新数组当中是否存在
    * 存在返回true,不存在返回false
    * */
    public static boolean contains(int [] arr,int price){
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] == price){
                return true;
            }
        }
        return false;
    }



}

运行结果:

猜你喜欢

转载自blog.csdn.net/m0_52725750/article/details/132282602