当前位置:首页 > Java技术 > Java的生成随机数

Java的生成随机数

2022年08月06日 11:56:43Java技术6

开发工具与关键技术: MyEclipse 10、Java语法
作者:邓婵
撰写时间:2019年 08月14日

在开发中产生随机数的使用是很普遍的,在Java中主要提供了两种方式产生随机数,分别为调用Math类的random()方法和Random类提供的产生各种数据类型随机数的方法。

1、首先来看看在Math类的random()方法产生的随机数,这个方法默认生成是大于等于0.0且小于1.0的double型随机数,输出结果如图下所示:
Java的生成随机数 _ JavaClub全栈架构师技术笔记
2、通过Random类生成一个伪随机数,这个可以通过实例化一个Random对象创建一个随机数生成器,其产生的随机数是根据种子和顺序决定的。
其实我们有三种方法去创建随机数生成器:
方法一:通过实例化一个Random对象创建一个新的随机数生成器
Java的生成随机数 _ JavaClub全栈架构师技术笔记
说明:这种方法实例化对象时Java编译器以系统当前时间作为随机数生成器的种子,因为每时每刻的时间不可能相同,所以产生的随机数将不同,但如果运行速度太快也会产生两次运行结果相同的随机数。

方法二:使用单个 long 种子创建一个新的随机数生成器
Java的生成随机数 _ JavaClub全栈架构师技术笔记
方法三:为了线程安全是无法实例的,但current是一个和线程相关的生成器,是获取当前状态下的一个随机类
Java的生成随机数 _ JavaClub全栈架构师技术笔记
在Random类中提供了获取各种数据类型随机数的方法,下面列举了一些常用的方法,如下图所示:
Java的生成随机数 _ JavaClub全栈架构师技术笔记
下面是在类的主方法中创建Random类对象,使用该对象生成一串随机的byte数组,相关代码以及输出结果可参考图下所示:
Java的生成随机数 _ JavaClub全栈架构师技术笔记
说明:首先实例化一个Random对象创建一个新的随机数生成器,然后生成一串随机的byte数组,接着你要传一个byte数组进去,然后它把byte数组自定义大小把随机数全部生成到数组当中去,最后循环遍历出再将数据打印出来。

Random类产生的数字并不是真正随机的,而是一种伪随机,因为只要两个Random对象的种子相同,而且方法的调用顺序也相同,产生的随机数相同,下面我们通过例子可以来验证一下。
Java的生成随机数 _ JavaClub全栈架构师技术笔记

作者:邓婵
来源链接:https://blog.csdn.net/weixin_44547786/article/details/99682376

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/18261.html

标签: Java随机数
分享给朋友:

“Java的生成随机数” 的相关文章

java生成随机数

/** * 生成20位的随机数,用系统当前时间的毫秒数(13)+七位随机数 * @return */ public String generateStr() { StringBuffer v...

Java随机数Random

记录一个比较操蛋的问题 1、随机数是由随机种子根据一定的计算方法计算出来的结果。只要计算方法一定,随机种子一定,那么计算出来的结果就相同。 2、如果你每次调用srand()时都提供相同的种子值,那么,你将会得到相同的随机数序列 3、Rand...

java产生随机数的方法

一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。 二.在java.util这个包里面提供了一个...

Java 中随机数获取的方案

Java 中随机数获取的方案

一、方法 1、(数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例:(int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 package com; public class test2 {...

Java获取随机数

方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) 从1到1...

Java 随机数

Java 随机数

Java 随机数   本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示。 广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMillis(...

Java产生两位随机数

Random random = new Random(); int ends = random.nexIn(99); String.format("%02d",ends);//如果不足两位,前面补0 作者:m0_67400972...

Java 高斯分布随机数

Java 高斯分布随机数

Java 高斯分布随机数 觉得有用的话,欢迎一起讨论相互学习~ 用Random类中的nextGaussian()方法,可以产生标准正态分布的随机数,其中均值为0,方差为1. 而对于 N ( a , σ 2...

java 猜系统获取的随机数

    int randomNumber=(int)(Math.random()*8)+1; 注释是:得到一个1到8之间的随机整数。 /*********************************************************...

java随机数的原理

Java中随机数的产生方式与原理详解 发布于 2020-6-9| 复制链接 摘记: Java中随机数的产生方式与原理查阅随机数相关资料,特做整理 首先说一下java中产生随机数的几种方式 在j2se中我们可以使用Math.rand...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。