import java.util.*;
/**
* 生成不重复随机数的一种算法。
*
* @author 赵学庆,Java世纪网(java2000.net)
*
*/
public class T {
public static void main(String[] args) {
// 种子你可以随意生成,但不能重复
int[] seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int[] ranArr = new int[9];
Random ran = new Random();
// 数量你可以自己定义。
for (int i = 0; i < seed.length; i++) {
// 得到一个位置
int j = ran.nextInt(seed.length - i);
// 得到那个位置的数值
ranArr[i] = seed[j];
// 将最后一个未用的数字放到这里
seed[j] = seed[seed.length - 1 - i];
}
System.out.println("ranArr:" + Arrays.toString(ranArr));
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/java2000_net/archive/2008/10/06/3019580.aspx
分享到:
相关推荐
在易语言中,生成不重复随机数是一项常见的需求,特别是在游戏开发、数据分析或者算法设计等场景。本文将深入探讨如何在易语言中实现取不重复随机数的功能。 首先,我们需要了解易语言中的随机数生成函数。在易语言...
Fisher-Yates洗牌算法是一种有效的生成不重复随机数的方法。它通过对数组进行随机交换来达到目的。 **示例代码**: ```java import java.util.*; public class Test { public static void main(String[] args) { ...
根据提供的标题、描述以及部分代码内容,我们可以总结出在Visual Basic (简称VB)环境中生成不重复随机数的主要方法。此技术常用于各种场景,比如彩票系统、抽奖程序或需要无重复随机选择的应用。 ### 一、基本原理 ...
在生成不重复随机数时,可以在一个包含所有可能数字的数组上应用该算法,然后返回前n个元素,即可得到n个不重复的随机数。 6. **线程安全的随机数生成**: 如果在多线程环境下生成不重复随机数,需要考虑线程同步...
但要生成不重复的随机数,我们不能简单地连续调用`nextInt()`,因为这可能导致重复。一种有效的方法是使用`HashSet`,因为它不允许存储重复元素。 以下是一个简单的示例代码,展示了如何生成十个不重复的随机数: ...
在.NET框架中,生成不重复的随机数是一个常见的需求,特别是在模拟、测试或者游戏开发等场景。本篇文章将深入探讨如何使用.NET实现这一功能,并提供一个VB.NET的示例代码。 首先,我们要明白生成随机数的基本原理。...
在IT领域,尤其是在编程语言C#中,生成不重复的随机数是一个常见且重要的需求,尤其是在游戏开发、安全系统、数据分析等应用场景中。本文将基于提供的文件内容,深入解析三种不同的方法来实现这一功能,旨在为读者...
本文将深入探讨一种在Java中实现的高效算法,该算法能够生成指定范围内的不重复随机数数组,特别适用于随机组题等应用场景。 ### 核心知识点解析 #### 1. 算法原理 算法的核心思想是首先创建一个包含指定范围内...
首先,我们要明确一点:生成不重复随机数的关键在于避免重复。对于一个给定的区间,例如[0, n),其中n是该区间的上限,我们需要生成n个不同的随机数。传统的做法可能包括使用数组或集合来跟踪已经生成过的随机数,但...
在“易语言源码易语言取不重复随机数.rar”这个压缩包中,我们关注的核心知识点是如何在易语言中生成不重复的随机数。 在易语言中,生成随机数通常使用“随机数发生器”命令,它位于“系统”类别下。该命令可以生成...
所以,生成不重复随机数序列的代码可能如下: ```python import random def generate_unique_randoms(N): numbers = list(range(1, N + 1)) random.shuffle(numbers) return numbers ``` 上述方法虽然简单,但...
在C#编程中,生成不重复的字母数字组合是一个常见的需求,这可能涉及到密码生成、唯一标识符创建或数据加密等多个领域。在这种情况下,我们通常会利用C#的内置类和方法来实现这一功能。标题提到的是“C#生成不重复...
5. **优化技巧**:对于大量不重复随机数的生成,使用集合(如易语言的“列表表”)比数组更高效,因为集合能快速判断元素是否存在。此外,可以考虑使用“交换”操作优化算法,减少循环次数。 6. **错误处理**:在...
### 一种软件生成真随机数的算法研究 #### 摘要及背景 本文探讨了随机数的本质,即确保每一个比特位(bit)都具备随机性,并提出了一种基于软件实现的真随机数生成方法。在信息安全、加密解密、模拟仿真等领域中,...
此外,对于生成m个不重复的随机数,可以采用以下几种算法: 1. **排序法**:生成m个随机数,然后对它们进行排序,去除重复的数字。 2. **桶排序法**:创建一个大小为m的数组,每个位置代表一个随机数,通过随机数的...
在IT领域,生成不重复的随机数序列是一个常见的需求,尤其是在需要进行随机抽样、数据模拟或游戏开发等场景中。下面将详细解析如何通过编程实现这一目标,并深入探讨其背后的算法逻辑和技术要点。 ### 核心知识点:...
随机数,虽然被称为“随机”,实际上是由确定性的算法生成的,这些算法确保了结果的不可预测性,同时满足特定的概率分布。在描述的场景中,我们关注的是生成0到32767之间的一个随机整数。 随机数生成器通常分为两大...
随机数生成器是一种算法,它能够生成一串看起来像是随机的数字序列。在实际应用中,这些数字并非真正的随机,而是通过确定性算法计算得出的,称为伪随机数。然而,如果设计得当,这些伪随机数序列在统计上与真正的...