1.protected int next(int bits)://生成下一个伪随机数。

2.boolean nextBoolean()://返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。

3.void nextBytes(byte[] bytes)://生成随机字节并将其置于用户提供的 byte 数组中。

4.double nextDouble()://返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的 double值。

5.float nextFloat()://返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布float值。

6.double nextGaussian()://返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的double值,其平均值是0.0标准差是1.0。

7.int nextInt()://返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

8.int nextInt(int n)://返回一个伪随机数,它是取自此随机数生成器序列的、在(包括和指定值(不包括)之间均匀分布的int值。

9.long nextLong()://返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

10.void setSeed(long seed)://使用单个 long 种子设置此随机数生成器的种子。

方法摘要也就这些,下面给几个例子:

1.生成[0,1.0)区间的小数:double d1 = r.nextDouble();

2.生成[0,5.0)区间的小数:double d2 = r.nextDouble() * 5;

3.生成[1,2.5)区间的小数:double d3 = r.nextDouble() * 1.5 + 1;

4.生成-231到231-1之间的整数:int n = r.nextInt();

5.生成[0,10)区间的整数:

int n2 = r.nextInt(10);//方法一

n2 = Math.abs(r.nextInt() % 10);//方法二

前面曾讲到过构造Random对象的时候指定种子的问题,到底指定种子有什么作用呢,这里直接用代码例子来做说明:

在定义的时候分别指定了相同的种子之后,在分别用r1和r2去[0,30)的随机数,结果编译执行后悔发现结果都是呈现AABB型的,说明r1和r2取的随机数是一模一样的(下图为实验截图)。

如果我改动代码,改成下面这样:

再编译输出后,就再也不会得到AABB型的结果,根据代码的区别,就可以知道指定种子数,和不指定种子数的区别在于哪里了。

最后再来简单对比一下这两个随机函数到底的特点:

1.java.Math.Random()实际是在内部调用java.util.Random()的,它有一个致命的弱点,它和系统时间有关,也就是说相隔时间很短的两个random比如:

double a = Math.random();

double b = Math.random();

即有可能会得到两个一模一样的double。

2.java.util.Random()在调用的时候可以实现和java.Math.Random()一样的功能,而且他具有很多的调用方法,相对来说比较灵活。所以从总体来看,使用java.util.Random()会相对来说比较灵活一些。

reference:

https://www.cnblogs.com/uncle-box/p/5918743.html

java生成随机数组_Java 生成随机数相关推荐

  1. java生成随机数组_JAVA生成随机数组10个数字并求和

    JAVA生成随机数组10个数字并求和 本文最终结果大概是这样的',使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框中. 设计思路:可以 ...

  2. java生成字符串数组_Java 生成随机字符串数组的实例详解

    Java 生成随机字符串数组的实例详解 利用Collections.sort()方法对泛型为String的List 进行排序.具体要求: 1.创建完List之后,往其中添加十条随机字符串 2.每条字符 ...

  3. java生成随机时间_Java生成某段时间内的随机时间

    上代码: import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { /** * 生成随机时间 ...

  4. java 取随机正整数_Java获取随机数

    Java 获取随机数 import java.util.Random; public class randomDemo { public static void main(String[]args){ ...

  5. 输出英文字母java数组_JAVA语言之通过生成随机数组来转化为字母进行输出的类...

    本文主要向大家介绍了JAVA语言之通过生成随机数组来转化为字母进行输出的类,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 今天又写了一个通过生成随机数组来转化为字母进行输出的类,但是 ...

  6. python生成随机数组_python3.x 生成3维随机数组实例

    python3.x 生成3维随机数组实例 如下所示: import numpy as np a=np.random.randint(0,10,size=[3,3,3]) print(a) 以上这篇py ...

  7. 数据结构第一课:希尔排序和选择排序的时间复杂度随机数组的生成

    随机生成数组 #include <iostream> #include <algorithm> #include<ctime> #include<time.h ...

  8. js 生成随机字符串,生成随机机器码

    一.生成随机字符串. //生成随机字符串 function randomString(len) {len = len || 32;var $chars = 'ABCDEFGHJKMNPQRSTWXYZ ...

  9. java数组随机排序_JAVA 生成随机数数组,并排序输出

    package com.koal.test; import java.util.Arrays; /** * * @author hp * 排序 */ public class Sort { //要生成 ...

  10. java随机生成不重复的数组_Java生成不重复的随机数组的方法

    一.JAVA中生成随机数的方式 1.在j2se中使用Math.random()令系统随机选取一个01之间的double类型小数,将其乘以一个数,比如25,就能得到一个025范围内的随机数,这个在j2m ...

最新文章

  1. linux运行dock打包的镜像,Linux部署之Docker方式部署项目
  2. 普通话书籍计算机辅助,计算机辅助普通话水平测试指南
  3. 聚类常见距离及python实现
  4. Listener 监听器
  5. html 微博下拉菜单,jQuery实现模仿微博下拉滚动条加载数据效果
  6. 一次深夜优化MySQL亿级数据分页的奇妙经历
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的智能养生平台系统
  8. java nio 面试题_10个最高频的Java NIO面试题剖析!
  9. Cassandra 权威指南
  10. 【渝粤教育】国家开放大学2018年秋季 0716-21T工程建设法规 参考试题
  11. PY++ 自动将你的C++程序接口封装供python调用
  12. 安装SQL2000时弹出“以前的某个程序安装已在安装计算机上创建挂起的文件操作、、、”...
  13. 学习JAVA环境搭建之下载安装MyEclipse 6.5
  14. mysql时间戳_MySQL 时间戳(Timestamp)函数
  15. 织梦php 文章采集规则,如何正确写DedeCms采集规则
  16. 鲸会务手把手教您线上年会抽奖怎么玩
  17. QQ群下载解除限速小技巧【提高千倍不止】【无需会员】
  18. 《动手学深度学习》(PyTorch版)代码注释 - 48 【Multi-scale_target_detection】
  19. 基于深度卷积神经网络的图像超分辨率重建(SRCNN) 学习笔记
  20. OSChina 周四乱弹 ——今天家里只有我和女室友,我想……

热门文章

  1. (2.3)【遥控型木马-网络神偷】
  2. 良心安利东方 rpg游戏制作大师素材网站
  3. 上海市职称英语计算机报名,全国职称计算机考试
  4. HTML将广告关闭的JS代码,js实现可关闭的对联对联广告代码广告效果代码
  5. win10如何深度清理c盘【系统天地】
  6. 小米wifi设置access_小米帐号的开放API
  7. 计算机附件常用工具,Windows附件常用工具
  8. 内存、磁盘硬盘、软盘、光盘、磁盘驱动器的介绍
  9. 使用帧相似度匹配编写无缝循环视频截取工具
  10. 计算机中xp系统中qq文件,从做完xp系统怎样恢复qq文?