上次已经为大家介绍过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类带种子与不带的区别,详细解析相关推荐

  1. Java里面Random的用法_Java中Random的用法

    一.java.lang.Math.random 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回 ...

  2. java 枚举的继承_java中枚举类可以被继承吗?

    java 枚举类 java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为: ● 枚举类继承了java.lang.Enum类,而不是默认的Object类.而 ...

  3. java三种注释_Java中三种常见的注释(注解) Annotation

    Java为我们提供了三种Annotation方便我们开发. 1 Override-函数覆写注解 如果我们想覆写Object的toString()方法,请看下面的代码: 1 classAnnotatio ...

  4. java 实现 string类_java 中String类的常用方法总结,带你玩转String类。

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  5. java的character用法_Java中Character类的使用方法

    Character类的使用方法 Character:字符类型 1.属性. static int MIN_RADIX :返回最小基数. static int MAX_RADIX :返回最大基数. sta ...

  6. java object 源码_java中Object类 源代码详解

    packagejava.lang;public classObject {/*一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用.*/ private static native ...

  7. java keyevent 组合键_JAVA中KeyEvent类键盘各键的代码

    RT,把KeyEvent类中的键盘各个键的代码贴出来,以备以后查用. public static final char CHAR_UNDEFINED 65535 public static final ...

  8. java runtime是什么_java中Runtime类详细介绍

    Runtime类描述了虚拟机一些信息.该类采用了单例设计模式,可以通过静态方法 getRuntime()获取Runtime类实例.下面演示了获取虚拟机的内存信息: package Main; publ ...

  9. java calendar 时分秒_Java中Calendar类的常用方法(对时间进行计算的类)

    例子: /**** * 传入具体日期 ,返回具体日期增加一个月. * @param date 日期(2017-04-13) * @return 2017-05-13 * @throws ParseEx ...

  10. java 循环new对象_java中new一个对象放在循环体里面与外面的区别

    首先说下问题: 这次在做项目的是出现了一个new对象在循环里面与外面造成的不同影响. 大家可以看到这个new的对象放在不同的位置产生的效果是不一样的. 经过多方查询与验证可以得出结论: * EasyU ...

最新文章

  1. 如何高效的编写Verlog HDL——菜鸟版
  2. 手工雕刻图纸_龙门整体铝板雕刻弧形楼梯护栏实力商家
  3. Oracle中start with...connect by prior子句用法
  4. 测试人员如何使用浏览器的f12_测试过程中如何快速定位一个bug
  5. 爬虫框架:scrapy
  6. 家庭主机拨号上网示意图
  7. root - 计算机术语,root什么意思
  8. XML文件结构和基本语法
  9. oracle 数字类型行转列,oracle行转列
  10. php遗漏,PHP被遗漏的执行函数
  11. IEEE最新声明:华为员工不能参与审稿,但是还能继续提供赞助
  12. linux 备份iphone,用linux搭建Mac备份服务器,伪TimeCapsule
  13. 基于文字识别与情感语义分析的(熊猫头)Emoji表情包搜索神器 —— 可以识别本地表情包或者爬取网络表情包
  14. Ubuntu18.04TLS运行linux版百度网盘客户端的问题
  15. newton插值公式
  16. H2O的机器学习框架的数据分析应用
  17. 功能测试————Siri
  18. 【读书笔记】设计模式第十一十二章收获
  19. 图形学基础|球谐光照(Spherical Harmonics Lighting)
  20. C# 调用ffmpeg把rtsp视频流保存为MP4文件

热门文章

  1. 软考数据库考试有题库吗_软考数据库系统工程师考试心得
  2. 官方个人免签系统网站源码柒上支付聚合三方四方支付系统
  3. ITIL 4 讲解:服务目录
  4. Android系统分辨率修改方法,Android:系统分辨率的修改
  5. Java二维码的生成以及附加Logo
  6. 我,第一次做项目经理,干赔了
  7. 海康威视摄像头web端播放
  8. 直线型一阶倒立摆1---概念篇
  9. 站长之死:互联网界夹心层的梦想反思录
  10. 《OpenGL编程指南》第8版 第9版 VS2015 VS2017配置方法