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设置此随机数生成器的种子。 |

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • CListCtrl 扩展风格设置方法—SetExtendedStyle和ModifyStyleEx

    CListCtrl 扩展风格设置方法—SetExtendedStyle和ModifyStyleEx想把ListCtr设置为整行高亮显示错误的方法为:1clistctrl.ModifyStyleEx(0,LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);正确的方法为:1DWORDdwStyle=clistctrl.GetExtendedStyle();2dwStyle|=LVS_EX_FULLROWSELECT|L…

  • C++学习之路——名字空间与模板

    C++学习之路——名字空间与模板例题:把课程当中的函数模板与类模板两个程序自己写一遍并写好注释。代码如下:#include “pch.h”#include<vector>#include<string>#include <iostream>using namespace std;//模板类template<class T> class Stack{publ…

  • List数组转换JSON格式

    List数组转换JSON格式最近在写java,然后leader需要几个接口,里面的东西就是json格式。然后需求明白后,想了想思路:先把需要的东西从库里拿出来放到一个数组里面,然后再将数组转换成json,大体思路确定后,开始敲代码。首先List一个数组,将要转换的东西先放到configs数组里面:List&lt;Class&gt;configs=newArrayList&lt;Class&gt;();…

  • The Class File Viewer cannot handle the given input

    The Class File Viewer cannot handle the given inputThe Class File Viewer cannot handle the given input

  • idea mybatisplus插件_浏览器中的插件是什么

    idea mybatisplus插件_浏览器中的插件是什么IDEA中的MyBatis插件MybatispluginFreeMybatispluginMybatistoolsMybatisCodeHelperPro因为idea自己不支持xml和映射器接口之间的跳转,所以搜了一下Mybatis的插件,自己记录一下,备忘。其他的插件有空再试试。Mybatisplugin功能强大,7天免费试用。网上很多激活成功教程教程,我没有试过FreeMybat…

  • Java 数组和List的使用「建议收藏」

    Java 数组和List的使用「建议收藏」Java中数据的保存离不开数组,但数组的长度是不可变的。这时候就需要列表类(List)来进行数组扩容等操作,同时列表还可以包含批量删除、修改等更方便的内容。同时ArrayList作为使用相当频繁的List类,它的扩容算法效率很高,本文通过其源代码来分析其扩容高效的原因。

发表回复

您的电子邮箱地址不会被公开。

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