「java随机数不重复」Java生成不重复的随机数

博主:adminadmin 2023-01-14 11:39:06 356

本篇文章给大家谈谈java随机数不重复,以及Java生成不重复的随机数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java如何让随机数不重复?

1.JAVA中生成随机数的方式 1、在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有...

2.随机给定范围内N个不重复的数 1、方法一:最简单最易理解的两重循环去重 /** * 随机指定范围内N个不重复的数 * 最简单最基本的方法 * @param min 指定范围最小值 * @param max ...

random 怎么实现随机数不重复方法 java

java中实现随机数不重复主要思想是使用hashset来保存每个生成的数据,因为set集合本身内部机制实现了不保存相同的数据,代码如下:

 /**

 * 随机指定范围内N个不重复的数

 * 利用HashSet的特征,只能存放不同的值

 * @param min 指定范围最小值

 * @param max 指定范围最大值

 * @param n 随机数个数

 * @param HashSetInteger set 随机数结果集

 */

    public static void randomSet(int min, int max, int n, HashSetInteger set) {

        if (n  (max - min + 1) || max  min) {

            return;

        }

        for (int i = 0; i  n; i++) {

            // 调用Math.random()方法

            int num = (int) (Math.random() * (max - min)) + min;

            set.add(num);// 将不同的数存入HashSet中

        }

        int setSize = set.size();

        // 如果存入的数小于指定生成的个数,则调用递归再生成剩余个数的随机数,如此循环,直到达到指定大小

        if (setSize  n) {

         randomSet(min, max, n - setSize, set);// 递归

        }

    }

怎样用java产生一个指定范围而且不重复的随机数?

首先,需要一个范围内的随机数,第二部判重,如果重复了就再次随机.

假设我们需要一个m到n的随机数..

需要用到random函数随机一个从0到1的数.然后再乘m到n的范围,再加m

double i = Math.random() * (m - n) + m ---- 生成随机数

判重..方法有很多种了..比如我们用一个Set来存放已经存在的..

SetDouble set = new LinkedHashSet();

if (set.contains(i)) { 重复了,重新随机 }

else { 向set中添加: set.add(Double.valueOf(i)); }

2017年8月28日 21:37:44

关于java随机数不重复和Java生成不重复的随机数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。