`
cakin24
  • 浏览: 1396334 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

和随机数相关的类Random

    博客分类:
  • java
 
阅读更多

Random类的典型应用

1.代码示例

import java.util.*;

public class RandomTest
{
	public static void main(String[] args)
	{
		Random rand = new Random();
		System.out.println("rand.nextBoolean():"
			+ rand.nextBoolean());
		// 生成0.0~1.0之间的伪随机double数
		System.out.println("rand.nextDouble():"
			+ rand.nextDouble());
		// 生成0.0~1.0之间的伪随机float数
		System.out.println("rand.nextFloat():"
			+ rand.nextFloat());
		// 生成平均值是 0.0,标准差是 1.0的伪高斯数
		System.out.println("rand.nextGaussian():"
			+ rand.nextGaussian());
		// 生成一个处于int整数取值范围的伪随机整数
		System.out.println("rand.nextInt():" + rand.nextInt());
		// 生成0~26之间的伪随机整数
		System.out.println("rand.nextInt(26):" + rand.nextInt(26));
		// 生成一个处于long整数取值范围的伪随机整数
		System.out.println("rand.nextLong():" +  rand.nextLong());
	}
}

 

2.运行结果

rand.nextBoolean():false
rand.nextDouble():0.6082686512760977
rand.nextFloat():0.61762995
rand.nextGaussian():-1.0508181648317052
rand.nextInt():514232001
rand.nextInt(26):5
rand.nextLong():-8195242260307854387

3.代码说明

Random类可以提供很多方法生成伪随机数。

 

Random类种子的应用

1.代码示例

import java.util.*;

public class SeedTest
{
	public static void main(String[] args)
	{
		Random r1 = new Random(50);
		System.out.println("第一个种子为50的Random对象");
		System.out.println("r1.nextBoolean():\t" + r1.nextBoolean());
		System.out.println("r1.nextInt():\t\t" + r1.nextInt());
		System.out.println("r1.nextDouble():\t" + r1.nextDouble());
		System.out.println("r1.nextGaussian():\t" + r1.nextGaussian());
		System.out.println("---------------------------");
		Random r2 = new Random(50);
		System.out.println("第二个种子为50的Random对象");
		System.out.println("r2.nextBoolean():\t" + r2.nextBoolean());
		System.out.println("r2.nextInt():\t\t" + r2.nextInt());
		System.out.println("r2.nextDouble():\t" + r2.nextDouble());
		System.out.println("r2.nextGaussian():\t" + r2.nextGaussian());
		System.out.println("---------------------------");
		Random r3 = new Random(100);
		System.out.println("种子为100的Random对象");
		System.out.println("r3.nextBoolean():\t" + r3.nextBoolean());
		System.out.println("r3.nextInt():\t\t" + r3.nextInt());
		System.out.println("r3.nextDouble():\t" + r3.nextDouble());
		System.out.println("r3.nextGaussian():\t" + r3.nextGaussian());
	}
}

 

2.运行结果

第一个种子为50的Random对象
r1.nextBoolean(): true
r1.nextInt():  -1727040520
r1.nextDouble(): 0.6141579720626675
r1.nextGaussian(): 2.377650302287946
---------------------------
第二个种子为50的Random对象
r2.nextBoolean(): true
r2.nextInt():  -1727040520
r2.nextDouble(): 0.6141579720626675
r2.nextGaussian(): 2.377650302287946
---------------------------
种子为100的Random对象
r3.nextBoolean(): true
r3.nextInt():  -1139614796
r3.nextDouble(): 0.19497605734770518
r3.nextGaussian(): 0.6762208162903859

3.代码说明

从运行结果来看,只要两个Random对象种子相同,而且方法的调用顺序也相同,他们就会生成相同的数字序列。也就是说,Random生成的数字并不是真正的随机数,而是伪随机数。为了避免两个Random对象产生的相同的数字序列,通常推荐使用当前时间作为Random对象的种子。

分享到:
评论

相关推荐

    Java基础之Random随机数.docx

    Java基础之Random随机数 Java中的随机数使用率非常高,因此掌握随机数的使用是非常重要的。在Java中,Random类提供了产生随机数的方法,下面将详细...掌握Random类的使用可以帮助开发者更好地完成随机数相关的任务。

    [Python入门教程]Python生成随机数模块(random)使用方法.pdf

    Python随机数模块(random)使用方法 Python随机数模块(random)是Python中用于生成随机数的模块。该模块提供了多种方法来生成随机数,包括生成指定范围内的随机整数、生成随机浮点数、从序列中随机选取元素、...

    c++ 可以输入条件的VC++随机数生成程序 random

    首先,C++标准库中的 `<random>` 头文件提供了生成随机数的类和函数。主要涉及以下核心组件: 1. **随机数引擎(Random Number Engine)**:这是生成随机数的核心,比如 `std::default_random_engine` 是一种默认的...

    java 随机数 Math.random

    //产生随机数的类 final SuiJiShuClass sjs=new SuiJiShuClass(); final JPanel panel=new JPanel(); //初始化一个JPanel panel.setBorder(BorderFactory.createTitledBorder("QQ:330936274")); //设置边界 ...

    随机数产生器random number

    在编程领域,随机数生成器(Random Number Generator,RNG)是至关重要的工具,它被广泛应用于各种场景,如模拟仿真、加密算法、游戏开发、数据分析等。标题中的"random number"指的是这个小程序的主要功能,即生成...

    Python random 生成随机数

    ### Python Random 模块生成随机数 在Python编程语言中,`random`模块提供了一系列用于生成伪随机数的函数。这些函数广泛应用于多种场景中,包括但不限于模拟、游戏开发、统计抽样等。本文将详细介绍`random`模块中...

    random_random随机数_random_

    在这个名为"random_random随机数_random_"的程序中,我们将探讨如何在C++中生成不重复的随机数。 C++标准库中的 `<random>` 头文件为我们提供了丰富的随机数生成器工具。首先,我们需要包含这个头文件以使用其提供...

    自定义随机数总结(Random )

    自定义随机数,再添加数据是往往想要自己定义一个id好而且还让她没有规律那么这时候就需要随机数了这个例子包括了所有Random 的例子!

    shell脚本如何获取随机数random

    首先,可以使用C语言中的srand和rand函数来生成随机数。srand函数用于设置rand函数生成随机数的种子,通常使用当前的系统时间作为种子,如`srand(time(NULL))`。这种方法的优点是简单易用,但是当多台计算机在同一...

    unity 随机数random 工具

    在Unity中,`Random`类通常能满足大多数需求,但如果你需要更高级的随机数生成功能,如更复杂的分布或更好的性能,你可以引入第三方库,如`System.Random`(虽然它不是Unity专用的,但在许多场景下依然适用),或者...

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

    本文将围绕“Random()随机数”和“随机切换图片”这两个核心概念进行深入探讨。 首先,让我们关注Java中的`Random()`类。在Java中,`java.util.Random`是一个用于生成各种随机数值的类。它可以生成整数、浮点数以及...

    Keil C51 中产生随机数的方法

    本文将详细介绍在Keil C51中如何使用标准库函数`rand()`和`srand()`来生成随机数,并通过实例代码进行演示。 ### 1. 使用`rand()`与`srand()` `rand()`函数是C标准库中的一个伪随机数生成器,其原型定义在`...

    BAT批处理学习-数值计算-random随机数生成器.zip

    本文将深入探讨“BAT批处理学习-数值计算-random随机数生成器.zip”这个主题,以及如何在批处理脚本中创建随机数生成器。 批处理脚本是基于DOS命令行环境的文本文件,它包含了多个操作系统命令,通过运行这些命令来...

    随机数类 c++实现 及随机数跑硬币的应用

    C++11引入了新的 `<random>` 头文件,提供了丰富的随机数生成器和分布。生成随机数通常包括以下几个步骤: 1. **设定随机种子**:随机数生成器的种子决定了生成数列的起始点。如果种子相同,生成的序列也会相同。当...

    Random随机数产生

    就是Random类的简单随机数产生···就是这样,给需要的人!

    java随机数逆向运算( Random.java )

    java随机数逆向运算( Random.java ) 相关博客http://blog.csdn.net/qq185773126/article/details/47336593

    随机数类.zip

    在C#编程语言中,随机数的生成是...这个"随机数类.zip"文件可能包含了如何使用这些方法的实例代码,帮助开发者更好地理解和应用随机数生成。通过学习和实践,你可以更加熟练地在自己的项目中利用随机数来实现各种功能。

    FLASH中使用Random函数创建随机数

    在提供的`randomnumber.fla`文件中,很可能是包含了一个Flash项目,演示了如何在舞台上使用Random函数来创建和展示随机数。通过打开这个文件,我们可以看到具体的ActionScript代码和舞台上的互动效果。这可能包括了...

    random-number.rar_Random Number _random_随机数_随机数发生器

    随机数在信息技术、科学计算和各种应用领域都有着广泛的应用,比如模拟仿真、密码学、机器学习等。...通过理解和使用这个优化的随机数发生器,可以提升MATLAB中的随机数生成体验,并可能提高相关应用的性能。

    Java产生随机数的两种方式

    本文将详细探讨Java中生成随机数的两种主要方法:`java.lang.Math.random()`静态方法和`java.util.Random`类。 首先,我们来看`java.lang.Math.random()`方法。这是一个静态方法,不需要实例化对象就可以直接调用。...

Global site tag (gtag.js) - Google Analytics