`
xyliufeng
  • 浏览: 87236 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java随机函数用法Random

阅读更多
 import java.util.Random;

public class RandomNumber{

public static void main(String[] args) {

// 使用java.lang.Math的random方法生成随机数
System.out.println("Math.random(): " + Math.random());

// 使用不带参数的构造方法构造java.util.Random对象
System.out.println("使用不带参数的构造方法构造的Random对象:");
Random rd1 = new Random();
// 产生各种类型的随机数
// 按均匀分布产生整数
System.out.println("int: " + rd1.nextInt());
// 按均匀分布产生长整数
System.out.println("long: " + rd1.nextLong());
// 按均匀分布产生大于等于0,小于1的float数[0, 1)
System.out.println("float: " + rd1.nextFloat());
// 按均匀分布产生[0, 1)范围的double数
System.out.println("double: " + rd1.nextDouble());
// 按正态分布产生随机数
System.out.println("Gaussian: " + rd1.nextGaussian());

// 生成一系列随机数
System.out.print("随机整数序列:");
for (int i = 0; i < 5; i++) {
System.out.print(rd1.nextInt() + " ");
}
System.out.println();

// 指定随机数产生的范围
System.out.print("[0,10)范围内随机整数序列: ");
for (int i = 0; i < 10; i++) {
// Random的nextInt(int n)方法返回一个[0, n)范围内的随机数
System.out.print(rd1.nextInt(10) + " ");
}
System.out.println();
System.out.print("[5,23)范围内随机整数序列: ");
for (int i = 0; i < 10; i++) {
// 因为nextInt(int n)方法的范围是从0开始的,
// 所以需要把区间[5,28)转换成5 + [0, 23)。
System.out.print(5 + rd1.nextInt(23) + " ");
}
System.out.println();
System.out.print("利用nextFloat()生成[0,99)范围内的随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print((int) (rd1.nextFloat() * 100) + " ");
}
System.out.println();
System.out.println();

// 使用带参数的构造方法构造Random对象
// 构造函数的参数是long类型,是生成随机数的种子。
System.out.println("使用带参数的构造方法构造的Random对象:");
Random ran2 = new Random(10);
// 对于种子相同的Random对象,生成的随机数序列是一样的。
System.out.println("使用种子为10的Random对象生成[0,10)内随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print(ran2.nextInt(10) + " ");
}
System.out.println();
Random ran3 = new Random(10);
System.out.println("使用另一个种子为10的Random对象生成[0,10)内随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print(ran3.nextInt(10) + " ");
}
System.out.println();
// ran2和ran3生成的随机数序列是一样的,如果使用两个没带参数构造函数生成的Random对象,
// 则不会出现这种情况,这是因为在没带参数构造函数生成的Random对象的种子缺省是当前系统时间的毫秒数。

// 另外,直接使用Random无法避免生成重复的数字,如果需要生成不重复的随机数序列,需要借助数组和集合类  
}
}
Math.random(): 0.525171492959965
使用不带参数的构造方法构造的Random对象:
int: 636539740
long: -752663949229005813
float: 0.87349784
double: 0.4065973309853902
Gaussian: 0.4505871918488808
随机整数序列:1936784917 1339857386 -1185229615 1883411721 1409219372
[0,10)范围内随机整数序列: 1 1 5 5 9 0 1 0 2 4
[5,23)范围内随机整数序列: 9 13 26 18 11 27 26 12 21 8
利用nextFloat()生成[0,99)范围内的随机整数序列: 1 47 72 59 49 86 80 88 55 82

使用带参数的构造方法构造的Random对象:
使用种子为10的Random对象生成[0,10)内随机整数序列:
3 0 3 0 6 6 7 8 1 4
使用另一个种子为10的Random对象生成[0,10)内随机整数序列:
3 0 3 0 6 6 7 8 1 4
分享到:
评论

相关推荐

    java中随机函数的使用.doc

    Java 中随机函数可以分为两种:一种是使用 Math.random() 方法生成随机数,另一种是使用 java.util.Random 类生成随机数。 1. 使用 Math.random() 方法生成随机数 Math.random() 方法可以生成一个双精度浮点数,该...

    java中随机函数的实现

    ### Java中随机函数的实现 在Java编程语言中,生成随机数是一项常见需求,尤其是在模拟、游戏开发或数据处理等领域。本文将详细介绍两种常见的生成随机数的方法:利用`Math.random()`函数以及使用`java.util.Random...

    java试验,random函数调用等

    在"java试验,random函数调用等问题"中,我们可能涉及以下几个关键知识点: 1. **Random类的创建**: 在Java中,我们首先需要通过`new Random()`来实例化一个`Random`对象,然后才能调用它的方法来生成随机数。...

    java随机生成数字和字母

    ### Java随机生成数字和字母知识点解析 #### 一、引言 在Java编程语言中,随机生成数字和字母是一项常用的技术。它广泛应用于密码生成、验证码生成、游戏开发等场景。本文将通过一个简单的示例程序来介绍如何使用...

    Java中的Random()函数及两种构造方法

    在java.util.Random中,我们可以使用nextInt(int n)方法来生成一个随机整数,该方法将返回一个伪随机的int值,它的取值范围是[0,n),其中n是上限值。例如:Random rand = new Random(25); int i; i = rand.nextInt...

    java源码:利用随机函数抽取幸运数字.zip

    这个压缩包“java源码:利用随机函数抽取幸运数字.zip”显然包含了实现这一功能的源代码。让我们深入探讨一下如何在Java中生成随机数,以及如何构建一个抽奖系统。 首先,Java提供了`java.util.Random`类来生成...

    java随机点名系统

    在Java随机点名系统中,开发者可能使用了Java的I/O流来处理TXT文件。Java的File类用于表示文件和目录路径名的抽象视图,而BufferedReader或Scanner类则可以用来读取TXT文件中的数据。例如,以下代码片段展示了如何...

    java开发技术调用rendom函数,随机生成32位不重复的字符

    在Java开发技术中,还有其他方法可以生成随机数,如使用SecureRandom函数,可以生成更加随机的随机数。使用SecureRandom函数可以生成更加安全的随机数,适合用于敏感的应用场景。 七、应用场景 生成随机数的应用...

    python中的随机函数random的用法示例

    以上就是`random`模块的主要功能及其使用方法。在Python编程中,无论是进行模拟、游戏开发还是数据分析,`random`模块都扮演着不可或缺的角色。通过熟练掌握这些函数,开发者可以创建出各种具有随机性的程序。

    JAVA随机数据库数组

    【JAVA随机数据库数组】知识点详解 在Java编程中,实现从数据库中随机选取题目的功能是一项常见的需求。这里提到的两个函数,`select3` 和 `RandomNumber`,是完成这一任务的关键。这两个函数共同作用,能够根据...

    Java随机点名程序.doc

    在这个Java随机点名程序中,我们看到了一个基于Java Swing构建的简单GUI应用,它用于从文本文件中随机选取学生进行点名。以下是该程序的主要知识点: 1. **面向对象编程**:程序是按照面向对象原则设计的,包含了`...

    java常用函数.txt

    例如,对于`random`方法,注释中不仅说明了方法的功能和参数,还给出了一个示例性的使用场景。 ### 总结 以上是基于给定文件内容所提取的关键Java知识点。这些知识点涵盖了基本的类结构、导入语句、方法定义、注释...

    利用随机函数抽取幸运数字.zip

    本篇将详细探讨如何利用Java的随机函数来抽取幸运数字。 首先,我们需要了解Java中的`java.util.Random`类,它是Java标准库中用于生成随机数的类。`Random`类提供了一系列方法,可以生成不同类型的随机数,包括整数...

    Random()随机数+随机切换图片

    `Random`类的构造函数通常不带参数,创建实例后,可以通过`nextInt()`、`nextDouble()`等方法来获取不同类型的随机数。例如: ```java Random random = new Random(); int randomInt = random.nextInt(); // 生成0...

    Java实验的答案源程序

    利用随机函数Math.random()产生火 柴数量(20~50), 每次最多拿3根,拿到最后一根为胜者。 要求:游戏过程要显示火柴总数,选择谁先拿;每步要显示剩余火柴数量,以及计算机拿的数量,并提示用户 输入拿多少;...

    java伪随机数

    Java中的伪随机数生成主要通过java.util.Random类实现。这个类使用线性同余生成算法来产生伪随机数。下面是Random类中生成伪随机数的关键知识点: 1. 构造函数:Random类提供了无参构造函数和带种子的构造函数。...

    randomNumber_number_java_RandomNumber_

    首先,`java.util.Random`是Java标准库中的一个类,它提供了各种方法来生成随机整数、浮点数和其他类型的随机值。要创建一个`Random`对象,你可以直接调用其构造函数: ```java Random rand = new Random(); ``` ...

    java随机生成十六进制颜色

    ### Java随机生成十六进制颜色知识点详解 #### 一、十六进制颜色代码的基本概念 在Web开发中,颜色常以十六进制形式表示。一个完整的十六进制颜色代码由六个字符组成,其中前两个字符表示红色(Red)的强度,中间...

    java 随机生成整数

    代码中使用`Math.random()`函数来生成介于0(包括)和1(不包括)之间的伪随机数。为了得到1到100之间的随机整数,开发者进行了如下转换: ```java arr[i] = (int)(Math.random() * 100) + 1; ``` 这里,`Math....

Global site tag (gtag.js) - Google Analytics