当前位置:首页 > Java技术 > Java生成不重复随机数组的方法

Java生成不重复随机数组的方法

2022年09月16日 19:24:44Java技术6

方法一

/**
 * 随机获取指定个随机数,且每个随机数之间不能重复
 */
public class Test {
    static int RANDOM_MIN = 1; // 随机生成最小的数
    static int RANDOM_MAX = 32; // 随机生成最大都数
    static int RANDOM_SUMBER = 10; // 生成随机数的个数
    public static void main(String[] args) {
        // 声明数组准备存放随机数
        int[] a = new int[RANDOM_SUMBER];
        // 循环放入随机数
        for (int i = 0; i < a.length; i++) {
            /**
             * 判断是否为第一位,如果是第一个位则直接放入随机数 如果不是则生成一个随机数去和数组已有的随机数进行比对
             * 
             * - 有重复:生成一个新都随机数后,再执行上述操作
             * 
             * - 无重复:将该值放入数组
             */
            if (i == 0) {
                a[i] = (int) (Math.random() * RANDOM_MAX + RANDOM_MIN);
            } else {
                int b = (int) (Math.random() * RANDOM_MAX + RANDOM_MIN);
                for (int j = 0; j < a.length; j++) {
                    if (a[j] == b) {
                        b = (int) (Math.random() * RANDOM_MAX + RANDOM_MIN);
                        j = 0;
                    }
                }
                a[i] = b;
            }
        }
        // 遍历输出
        for (int i : a) {
            System.out.println(i);
        }
    }

}

方法二

import java.util.Random;
import java.util.Vector;
/**
 * 获取10个1-20之间的随机数,要求不能重复
 * 
 * @author lgt
 *
 */
public class Test {
    public static void main(String[] args) {
        // 创建一个产生随机数的对象
        Random r = new Random();
        // 创建一个存储随机数的集合
        Vector<Integer> v = new Vector<Integer>();
        // 定义一个统计变量
        int count = 0;
        while (count < 10) {
            int number = r.nextInt(20) + 1;
            // 判断number是否在集合中存在
            if (!v.contains(number)) {
                // 不在集合中,就添加
                v.add(number);
                count++;
            }
        }
        // 遍历输出
        for (int i : v) {
            System.out.println(i);
        }
    }
}

参考资料

脚本之家 Java实现生成n个不重复的随机数
菜鸟教程 Java random() 方法

作者:白豹
来源链接:https://www.cnblogs.com/a7e7/p/13939603.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/42291.html

标签: Java随机数
分享给朋友:

“Java生成不重复随机数组的方法” 的相关文章

Java获取随机数

方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) 从1到1...

java中自定义随机数据

要生成自定义随机数1或-1,您需要使用nextBoolean()。首先,循环并在每次迭代中创建一个Random对象-for (int i = 0; i  Random rand =&...

java随机数类型

import java.util.Random; /** Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。 它可以产生int、long、float、double以及Goussian等类型的随机数。...

java生成永远不重复的随机数

java生成不重复随机数的方法 发布时间:2020-07-01 11:00:00 来源:亿速云 阅读:225 作者:Leah java怎么实现生成不重复随机数 ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多...

Java 随机数 Random集合

Java 随机数 Random集合

1. Math.random() 静态方法 产生的随机数是 0 - 1 之间的一个 double,即 0 <= random <= 1。 for (int i = 0; i < 10; i++) { System.out...

Java 随机数

Random   Random random = new Random();    import java.util.Random; public class RandomTest01 { public static void main(Strin...

java随机数012

java随机数012

[java]代码库import java.util.Random; public class RandomNumber{ public static void main(String[] args) { // 使用java.l...

Java 随机数唯一

>将该范围中的每个数字依次添加到 list结构中。 > Shuffle it。 >拿第一个’n’。 这里是一个简单的实现。这将打印从1-10范围内的3个独特的随机数。 import java.util.A...

Java生成6位随机数方法分析

分析  实际开发中,生成随机数的场景有很多,比如短信验证码、订单编码、账号... 选择什么方式很重要,下面我们通过4种生成方式来分析利弊 public static void main(String[] args) { in...

Java生成指定范围的随机数

生成指定范围内的随机数 这个是最常用的技术之一。程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数字的测试用例。问题往往类似于: 如何随机生成 1~100 之间的随机数,取值包含边界值 1 和 100。 或者是:...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。