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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用户访问路径分析_访问路径是什么意思

    用户访问路径分析_访问路径是什么意思1971年,在英国伦敦召开的国际园林艺术研讨会上,迪斯尼乐园的路径设计获得世界最佳设计奖。可是,你知道吗?这条路径却并非出自某个设计大师之手,完全是游人"自行设计"(实际就…

    2022年8月24日
    7
  • IntelliJ Idea 2017 注册码 免费激活方法「建议收藏」

    IntelliJ Idea 2017 注册码 免费激活方法「建议收藏」!!!补充版本信息,博友反馈17.3版本之后的不能用。注:如果为2017.3之后的版本,参考评论中23楼提供的博文,最近比较忙,没能补充新版本激活方法。谢谢23楼博友!!!可使用以下两种

    2022年7月3日
    123
  • windows磁盘阵列[通俗易懂]

    windows磁盘阵列[通俗易懂]磁盘阵列磁盘有两个参数:容量,速度。笔记本最高转速5400转每分台式机最高转速7200转每分1.什么是RAIDRAID全称:RemdundantArrayofinexpensivesDisks廉价冗余磁盘阵列,通过对块磁盘组成一种模式,来提高吞吐量和可靠性2.磁盘阵列功能整合闲置磁盘空间提高磁盘读取文件提高容错功能磁盘阵列的…

    2022年5月4日
    167
  • Androidclient和server第一种方法端数据交换

    Androidclient和server第一种方法端数据交换

    2021年12月31日
    38
  • Linux 安装tomcat 部署war包项目

    Linux 安装tomcat 部署war包项目准备工作:jdk-8u161-linux-x64.tar.gz链接:https://pan.baidu.com/s/1zQGL_cfN5jFWshZkAJOkNw密码:0u7dapache-tomcat-9.0.20.zip链接:https://pan.baidu.com/s/1Nf_qdmUVlQ0Cz8BOoQg2rA密码:bh9f以及你的war包…

    2022年6月11日
    126
  • leetcode 回文数_java 字符串转整数

    leetcode 回文数_java 字符串转整数原题链接请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“1

    2022年8月8日
    5

发表回复

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

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