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对象的种子。
相关推荐
//产生随机数的类 final SuiJiShuClass sjs=new SuiJiShuClass(); final JPanel panel=new JPanel(); //初始化一个JPanel panel.setBorder(BorderFactory.createTitledBorder("QQ:330936274")); //设置边界 ...
c++ 可以输入条件的VC++随机数生成程序 random
自定义随机数,再添加数据是往往想要自己定义一个id好而且还让她没有规律那么这时候就需要随机数了这个例子包括了所有Random 的例子!
[Python入门教程]Python生成随机数模块(random)使用方法.pdf
Python random 生成随机数的几个常用 函数
产生随机数的小程序,比较简单,只是练手之作
文章主要介绍shell脚本如何获取随机数random的方法,感兴趣的朋友可以看看。
此文档以一个小的实例讲解了java随机数random的使用,在java当中随机数的使用率较高,所以需要熟练掌握随机数的使用
本程序利用C++产生随机数,每次产生的随机数都不一样
就是Random类的简单随机数产生···就是这样,给需要的人!
java随机数逆向运算( Random.java ) 相关博客http://blog.csdn.net/qq185773126/article/details/47336593
Keil C51 中产生随机数的方法和样例
yiRan是一款简单、实用的...js自带的随机数Math.random()所提供的功能十分有限,它只能让你选取一个数字区间来获取随机数。 然而实际开发中随机数的获取是非常多样的,yiRan提供的自定义随机数可以很好地满足你的需求。
STM32 Random 产生随机数 在通讯中加密防止破解
Java Random类的详细介绍(Java生成随机数)一、Random类的使用1.Random类生成随机数(int)的基本语法:2.几种常用的随机数生成二、Random类的详细介绍1.生成指定范围的数字2.Random.nextInt()与Math.random()的区别 ...
主要介绍了ORACLE随机数DBMS_RANDOM包,通过dbms_random包调用随机数的方法大致有4种,具体哪4种请看本篇文章吧
产生随机数,并用RSA算法进行加密和解密
NULL 博文链接:https://jun1986.iteye.com/blog/1308651
本篇文章给大家介绍在javascript中随机数math random如何生成指定范围数值的随机数,由于math.random生成了一个伪随机数,之后还要经过我们的后期处理。对随机数math random感兴趣的朋友一起了解了解吧
Math,random: 随机数的 各个位获取 相加