java平均的随机数_Java 随机数详解「建议收藏」

java平均的随机数_Java 随机数详解「建议收藏」Java随机数详解##概述Java随机数的产生方法有2种,一种是Math.random()方法,一种是Random类。Math.random()可以随机生成一个0-1的double类型浮点数。Random类需要一个随机数种子来产生一个随机数,默认构造函数Random()使用当前时间(System.currentTimeMillis())作为发生器的种子,也可以使用Random(longsee…

大家好,又见面了,我是你们的朋友全栈君。

Java 随机数详解

## 概述

Java随机数的产生方法有2种,一种是Math.random()方法,一种是Random类。

Math.random()可以随机生成一个0-1的double类型浮点数。

Random类需要一个随机数种子来产生一个随机数,默认构造函数Random()使用当前时间(System.currentTimeMillis())作为发生器的种子,也可以使用Random(long seed)指定发生器的种子。

随机数发生器(Random)对象产生以后,可以通过调用不同的方法(nextInt()、nextLong()、nextFloat()、nextDouble()等)获得不同类型随机数。指定随机数种子后,每次运行生成的随机数序列结果都一样。

## 生成随机数

### 使用Random类生成随机数

“`java

Random random = new Random();

System.out.println(random.nextInt());// 生成整形随机数

System.out.println(random.nextFloat());// 生成浮点型随机数

System.out.println(random.nextBoolean());// 生成布尔类型随机数

“`

### 使用Math.random()方法生成随机数

“`java

double random = Math.random();

System.out.println(random);

“`

## 生成指定范围的随机数

生成“5 =< result < 30”的随机数。

### 使用Random类

“`

int min = 5;

int max = 30;

Random random = new Random();

// 5 =< result < 30

int result = random.nextInt(max – min) + min;

System.out.println(result);

“`

### 使用Math.random()方法

“`

int min = 5;

int max = 30;

int result = (int) (Math.random() * (max – min)) + min;

System.out.println(result);

“`

## 生成随机密码

生成包含大小写字母、数字、特殊字符的指定长度密码

### 使用ASCII码

“`

int length = 15;

Random random = new Random();

StringBuffer sb = new StringBuffer();

for (int i = 0; i < length; i++) {

sb.append((char) (random.nextInt(127 – 33) + 33));

}

System.out.println(sb.toString());// &%TK^5%{@VE4

“`

### 使用指定的字符串

“`

String chars = “0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”;

int length = 15;

Random random = new Random();

StringBuffer sb = new StringBuffer();

for (int i = 0; i < length; i++) {

sb.append(chars.charAt(random.nextInt(chars.length())));

}

System.out.println(sb.toString());// 6FUCPy9hCJRbBSg

“`

## Random类常用API

| 方法 | 描述 |

| — | — |

| Random() | 创建一个新的随机数生成器。 |

| Random(long seed) | 使用seed种子创建一个新随机数生成器。 |

| protected int next(int bits) | 生成下一个伪随机数。 |

| boolean nextBoolean() | 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 boolean 值。 |

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

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

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

| double nextGaussian() | 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、呈高斯(“正常地”)分布的 double 值,其平均值是 0.0,标准偏差是 1.0。 |

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

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

| long nextLong() | 返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。 |

| void setSeed(long seed) | 使用seed设置此随机数生成器的种子。 |

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158832.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • bitblt函数 透明底图_手绘楼盘摆位图怎么画

    bitblt函数 透明底图_手绘楼盘摆位图怎么画CDC::BitBlt函数,应用在GDI的绘图中,有时候我们需要显示的位图有一部分是透明的,例如在棋类游戏中,棋盘图片和棋子图片融合的时候,棋子边缘应该是透明。    在图1中,棋盘和棋子图片融合在一起,需要设置棋子图片边缘的“品红色”为透明。     1、BitBlt函数说明:        BOOLBitBlt(intx,int

    2022年10月19日
    5
  • 【转载】男人选妻有什么实用主义标准?「建议收藏」

    【转载】男人选妻有什么实用主义标准?「建议收藏」 在现实生活中,有相当一部分事业和生活都非常优秀的剩女们,总是没有不懂男人们在选择妻子时的心里到底在想些什么?更让她们不能接受的是,为什么男人讨老婆总是喜欢找一些看起来貌不出众,或学历与家景比自己差很多的女孩为妻。反而是像自己无论是学历文凭、家庭背景、从事职业甚至收入水平都明显高人一截的女人,反倒成了没男人追求最终被剩下的那个女人了。其实,男人找女朋友跟最终选择结婚对象时的想法是不一样的,…

    2022年5月4日
    36
  • arm汇编指令详解带实例_汇编buf指令

    arm汇编指令详解带实例_汇编buf指令ARM的编程模式和七种模式基本设定架构(32位)约定Byte(字节):8bitsHalfword(半字):16bits(2byte)Word(字):32bits(4byte)指令集ARM指令集(32-bit)Thumb指令集(16-bit)Thunmb指令集(16&32bit)不考虑工作模式种类:七种非特权模式(Normal:普通模式)User(用户模式):非特权模式,大部分时候在这个模式下工作特权模式(Privilege:特

    2022年10月14日
    3
  • pointnet训练文件train.py注释

    pointnet训练文件train.py注释

    2020年11月8日
    224
  • 免费sun.misc.BASE64Decoder.jar下载「建议收藏」

    免费sun.misc.BASE64Decoder.jar下载「建议收藏」相信很多人在转base64时,需要BASE64Decoder包,然而网上都需要C币或者某豆,本着开源思想,资源共享原则,分享链接如下,大家可以自行下载:https://pan.baidu.com/s/127YeW2y_j1NNyrE3w70Ztg,此链接永久有效!!!如有疑问,请联系zhang_quan_888@163.com….

    2022年7月16日
    15
  • XXE漏洞学习[通俗易懂]

    XXE漏洞学习[通俗易懂]0x00什么是XML 1.定义XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。 2.文档结构XML文档结构包括XML声明、DTD文档类型…

    2022年5月23日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号