[Java] 中奖顺序(不重复随机数)

import java.util.Random;

public class test {
    public static void main(String[] args) {
        int[] arr = {2, 588, 888, 1000, 10000};

        //新数组元素的值代表arr数组的索引,并将数组所有元素赋值为-1
        int[] indexs = new int[arr.length];
        for (int i = 0; i < indexs.length; i++) {
            indexs[i] = -1;
        }

        Random r = new Random();
        int len = 0;//新数组的索引
        wc:
        while (true) {
            int num = r.nextInt(arr.length);
            //continue 跳过重复
            for (int i = 0; i <= len; i++) {
                if (num == indexs[i]) {
                    continue wc;
                }
            }
            indexs[len++] = num;
            //break 停止循环
            if (len == indexs.length) {
                break;
            }
        }

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[indexs[i]] + "元的奖金被抽出");
        }
    }
}
发布了59 篇原创文章 · 获赞 60 · 访问量 1596

猜你喜欢

转载自blog.csdn.net/Regino/article/details/104503067