package org.xh.rand; import java.util.Arrays; import java.util.Random; public class RandDemo { /** * * make by dxh on 2013-1-23 下午02:16:44 * @param args */ public static void main(String[] args)throws Exception { int[] arr = RandDemo.genNum(5, 30); RandDemo.showArr(arr, true); } /** * 生成不重复随机数 * * @param num * 随机数个数 * @param value * 随机数范围 * @see 注意value不可小于num * @return * @throws TargetMinException */ public static int[] genNum(int num, int value) throws TargetMinException { int[] arr = new int[num];// 保存最终生成结果 int index = 0;// 状态索引 default = 0 arr = new int[num]; if (value < num) { throw new TargetMinException("随机数取值范围不可以小于生成随机数个数"); } boolean result = true; while (result) {// 控制是否继续生成随机数 Random rd = new Random(); int tempRandomNum = rd.nextInt(value) + 1; if (arr[arr.length - 1] == 0) {// 决定是否继续生成随机数进行赋值 if (isHas(tempRandomNum, arr, index)) {// 判断已生成随机数是否与数组中已有数值重复 continue; } arr[index++] = tempRandomNum;// 将生成的不重复发的随机数放入数组中 } else result = false; } return arr; } /** * 判断是否已存在生成的随机数 * * @param mm * @param arr * @param index * @return */ private static boolean isHas(int tempRandomNum, int[] arr, int index) { for (int i = 0; i < index; i++) { if (tempRandomNum == arr[i]) { return true; } } return false; } /** * showArr * * @param arr * @param isSort */ @Deprecated public static void showArr(int[] arr, boolean isSort) { for (int j = 0; j < arr.length; j++) { if (isSort) { Arrays.sort(arr); } System.out.print(arr[j] + ","); } } static class TargetMinException extends Exception { private static final long serialVersionUID = 1L; public String message = ""; public TargetMinException(String message) { this.message = message; } @Override public String getMessage() { return this.message; } } }
相关推荐
在Java编程中,生成十个不...以上就是使用Java生成十个不重复随机数的两种主要方法。无论选择哪种方式,都需要根据具体需求和性能要求进行权衡。在实际开发中,理解这些算法背后的逻辑和可能的优化方向是至关重要的。
下面我们将深入探讨如何在Java中生成指定范围内不重复的随机数,以及如何将代码整合到myEclipse环境中。 首先,我们要理解Java中的`java.util.Random`类,它是生成随机数的基础。`Random`类提供了多种方法来生成...
巧用Java实现得到任意位永不重复的随机数,很经典的代码!
使用了ArrayList和简单的循环来达到目的。用输入数字作为触发器。
java生成四位随机数,包含数字和字母 区分大小写,特别适合做验证码,android开发
Java实现生成n个不重复的随机数是非常常见的需求,例如在游戏、数据分析、机器学习等领域中都需要生成随机数。下面将详细介绍Java实现生成n个不重复的随机数的方法。 首先,我们需要理解生成随机数的原理。生成...
为了保证生成的随机数不重复,我们可以使用`java.util.HashSet`或`java.util.TreeSet`。这两个集合不允许存储重复元素,因此当我们尝试添加一个已经存在的元素时,它会被自动忽略。 4. **填充集合**: 我们可以先...
2. **去除重复**:为了确保生成的随机数不重复,可以使用HashSet或数据库来存储已经生成过的随机数,每次生成新数时,都会先检查该数是否已存在,如果不存在则添加并返回,否则继续生成新的随机数。 3. **数据库...
使用`java.util.Random`类可以生成指定范围内的随机数。创建一个HashSet存储随机数,然后在一个循环内不断生成随机数并尝试添加到集合中,直到达到所需的数量。示例如下: ```java import java.util.Random; ...
在Java编程中,生成不重复随机数是一项常见的需求,特别是在模拟抽奖、随机选取样本或创建唯一标识符等场景。本文将详细介绍四种不同的方法来实现这一功能。 ### 方法一:使用HashSet **HashSet** 是Java集合框架...
生产不重复19位随机数,测试1000000数据没重复
Java中不重复随机数的生成与分析 Java 中不重复随机数的生成与分析是软件开发中的一个重要问题。随机数以其不确定性和偶然性等特点,因此在软件开发中得到了广泛应用。例如,在软件系统的测试中,用于产生具有普遍...
### 生成不重复随机数的算法 在许多应用领域中,比如在线考试系统、游戏开发或是数据处理等场景,生成不重复的随机数是一项非常重要的技术。本文将详细介绍几种不同的方法来实现这一功能,并通过具体的Java代码示例...
生成的8位十六进制字符串在大多数情况下已经足够独特,但考虑到时间戳的精度,如果系统在同一秒内需要生成多个不重复的8位数字,可能需要结合其他策略,如添加进程ID、随机数或者序列号,以确保在极短时间内生成的ID...
根据给定的信息,我们可以深入探讨如何在编程环境中生成指定长度的随机数字字符串,尤其是在Java环境中。这不仅是IT领域中常见的需求之一,也是许多应用程序开发过程中不可或缺的一部分。下面将详细介绍如何理解并...
JAVA 16位ID生成工具类含16位不重复的随机数数字+大小写 本文主要介绍了JAVA 16位ID生成工具类含16位不重复的随机数数字+大小写,通过示例代码详细介绍了该工具类的实现过程,为读者提供了一个有价值的学习参考。 ...
直接运行main即可,参数为数字范围 比如10 运行后会输出9,3,0,7,2,8,4,1,5,6,
本篇介绍了一个简单的Java程序,用于生成一系列不重复的随机数并将其存入数组中。这种方法在诸如彩票选号、游戏开发等场景中非常实用。需要注意的是,随着数组长度的增加,生成不重复随机数的时间复杂度也会相应提高...
在Java编程中,生成随机数是一项常见的任务,可用于各种用途,如创建随机密码、模拟随机事件或在游戏开发中。本篇文章将深入探讨如何在Java中生成随机数,并特别关注字符串操作的相关技巧。 首先,Java提供了`java....
在IT行业中,生成不重复的随机数是一项常见的需求,尤其在编程和数据分析任务中。"取不重复随机数.rar"这个文件可能包含了一个易语言(EasyLanguage)的程序或者示例,用于解决这个问题。易语言是一种简洁、直观的...