java random 种子数_java中Random类带种子与不带的区别,详细解析
上次已经为大家介绍过java中产生随机数有哪几种方式?怎么得到它?今天再来概述一些与之相关的内容,也就是java中Random类带种子与不带的区别,详细地为大家解析,一起来看看吧。
一、Random类有以下说明:
java.util.Random类有两种方式构建方式:带种子和不带种子
1.不带种子:
这种方式将会返回随机的数字,每次运行结果不一样,代码如下所示:public class RandomTest
{
public static void main(String[] args)
{
java.util.Random r = new java.util.Random();
for (int i = 0; i
{
System.out.println(r.nextInt());
}
}
2.带种子:
这种方式,无论程序运行多少次,返回结果都是一样的,代码如下所示:public static void main(String[] args)
{
java.util.Random r = new java.util.Random(10);
for (int i = 0; i
{
System.out.println(r.nextInt());
}
}
这两种方式的区别主要如下所示:
⑴首先看一下Random类的说明:
①这个类的实例用于生成伪随机数流,通常使用48位的种子,它的种子可以使用线性同余公式对其进行修改。
②如果使用相同的种子创建两个Random实例,那么对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。因此,为了保证实现这种特性,便为类Random指定了特定的算法。为了java代码的完全可移植性,java
实现必须让类Random 使用这里所显示的所有算法。但是允许Random类的子类使用其他算法,只要其符合所有方法的常规协定即可。
③如果没有提供种子数,Random实例的种子数将是当前时间的毫秒数,可以通过System.currentTimeMillis()来获得当前时间的毫秒数。打开JDK的源代码,就可以非常清楚地看到这一点。代码如下所示:public Random()
{
this(System.currentTimeMillis());
}
除此之外,random对象的nextInt(),nextInt(int n)方法的说明:
①intnextInt():返回下一个伪随机数,它是从这个随机数生成器的序列中均匀分布的int值。
②int nextInt(int n):返回一个伪随机数,它是从这个随机数生成器的序列中取出的、在0(包括)和指定值(不包括)之间均匀分布的int值。
以上就是关于java中Random类带种子与不带的区别的详细解析。如果你对java知识感兴趣,想要了解更多java基础以及常见问题,敬请关注奇Q工具网。
推荐阅读:
java random 种子数_java中Random类带种子与不带的区别,详细解析相关推荐
- Java里面Random的用法_Java中Random的用法
一.java.lang.Math.random 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回 ...
- java 枚举的继承_java中枚举类可以被继承吗?
java 枚举类 java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为: ● 枚举类继承了java.lang.Enum类,而不是默认的Object类.而 ...
- java三种注释_Java中三种常见的注释(注解) Annotation
Java为我们提供了三种Annotation方便我们开发. 1 Override-函数覆写注解 如果我们想覆写Object的toString()方法,请看下面的代码: 1 classAnnotatio ...
- java 实现 string类_java 中String类的常用方法总结,带你玩转String类。
String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...
- java的character用法_Java中Character类的使用方法
Character类的使用方法 Character:字符类型 1.属性. static int MIN_RADIX :返回最小基数. static int MAX_RADIX :返回最大基数. sta ...
- java object 源码_java中Object类 源代码详解
packagejava.lang;public classObject {/*一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用.*/ private static native ...
- java keyevent 组合键_JAVA中KeyEvent类键盘各键的代码
RT,把KeyEvent类中的键盘各个键的代码贴出来,以备以后查用. public static final char CHAR_UNDEFINED 65535 public static final ...
- java runtime是什么_java中Runtime类详细介绍
Runtime类描述了虚拟机一些信息.该类采用了单例设计模式,可以通过静态方法 getRuntime()获取Runtime类实例.下面演示了获取虚拟机的内存信息: package Main; publ ...
- java calendar 时分秒_Java中Calendar类的常用方法(对时间进行计算的类)
例子: /**** * 传入具体日期 ,返回具体日期增加一个月. * @param date 日期(2017-04-13) * @return 2017-05-13 * @throws ParseEx ...
- java 循环new对象_java中new一个对象放在循环体里面与外面的区别
首先说下问题: 这次在做项目的是出现了一个new对象在循环里面与外面造成的不同影响. 大家可以看到这个new的对象放在不同的位置产生的效果是不一样的. 经过多方查询与验证可以得出结论: * EasyU ...
最新文章
- 如何高效的编写Verlog HDL——菜鸟版
- 手工雕刻图纸_龙门整体铝板雕刻弧形楼梯护栏实力商家
- Oracle中start with...connect by prior子句用法
- 测试人员如何使用浏览器的f12_测试过程中如何快速定位一个bug
- 爬虫框架:scrapy
- 家庭主机拨号上网示意图
- root - 计算机术语,root什么意思
- XML文件结构和基本语法
- oracle 数字类型行转列,oracle行转列
- php遗漏,PHP被遗漏的执行函数
- IEEE最新声明:华为员工不能参与审稿,但是还能继续提供赞助
- linux 备份iphone,用linux搭建Mac备份服务器,伪TimeCapsule
- 基于文字识别与情感语义分析的(熊猫头)Emoji表情包搜索神器 —— 可以识别本地表情包或者爬取网络表情包
- Ubuntu18.04TLS运行linux版百度网盘客户端的问题
- newton插值公式
- H2O的机器学习框架的数据分析应用
- 功能测试————Siri
- 【读书笔记】设计模式第十一十二章收获
- 图形学基础|球谐光照(Spherical Harmonics Lighting)
- C# 调用ffmpeg把rtsp视频流保存为MP4文件