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)
上一篇 2022年7月13日 下午11:46
下一篇 2022年7月14日 上午6:00


相关推荐

  • 信息系统项目管理师高级论文_信息系统项目管理师历年论文题目

    信息系统项目管理师高级论文_信息系统项目管理师历年论文题目本系列文章将会对信息系统项目管理师考试中出现的十大管理论文进行分析,并给出参考范文,帮助考生备考复习。更多复习内容请在微信搜索小程序“信息系统项目管理师高频考点”。2021上半年论文真题范围管理论文试题一论信息系统项目的范围管理项目范围管理必须清晰地定义项目范围,其主要工作是要确定哪些工作是项目应该做的,哪些不应该包括在项目中。请以“论信息系统项目的范围管理”为题进行论述∶1.概要叙述你参与管理过的一个信息系统项目(项目的背景、项目规模、发起单位、目的、项目内容、组织结构

    2025年11月13日
    5
  • 芯片架构–四大处理器架构「建议收藏」

    芯片架构–四大处理器架构「建议收藏」处理器分为复杂指令集计算机(CISC)和精简指令集计算机(RISC)。1、x86架构我们使用的电脑以及公司的服务器,大部分采用了x86架构的处理器,以intel和AMD的处理器为主。x86架构的处理器采用了CISC指令集(复杂指令集计算机),x86架构的CPU分为x86和x86-64两类,目前主流的是x86-64,即64位的处理器。2、ARM架构我们的手机几乎全部使用了ARM架构,采用了RISC指令集(精简指令集),ARM的优势在于低功耗,因此非常适合手机等终端使用,x86架构的处理器无

    2025年9月28日
    4
  • LoadRunner 技巧之 IP欺骗 (推荐)

    LoadRunner 技巧之 IP欺骗 (推荐)

    2021年8月22日
    62
  • 电子书包“翻转”课堂

    电子书包“翻转”课堂在联想·知好乐电子书包发布会上,一场别开生面的现场教学示范引起了与会者的极大兴趣。北京教育学院的王春老师借助联想·知好乐电子书包,创新出一种名为“翻转课堂”的教学模式,就是将原来课堂上老师教授新知的环节“翻转”为课前学生自主学习,并将原来课下学生的知识内化过程“翻转”到课上。与会的教育行业专家认为,这是一种更符合学习规律、更尊重学生认知的高效的教学方式。  据同方知好乐教育公司(以下简称知好乐)总…

    2022年10月19日
    4
  • 国产大模型源码对比:DeepSeek vs 豆包性能调优实战指南

    国产大模型源码对比:DeepSeek vs 豆包性能调优实战指南

    2026年3月12日
    5
  • 哈佛结构与普林斯顿结构_普林斯顿大学和哈佛大学哪个更厉害

    哈佛结构与普林斯顿结构_普林斯顿大学和哈佛大学哪个更厉害1. 冯·诺依曼结构   冯·诺依曼结构,又称为普林斯顿体系结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。取指令和取操作数都在同一总线上,通过分时复用的方式进行;缺点是在高速运行时,不能达到同时取指令和取操作数,从而形成了传输过程的瓶颈。由于程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指

    2022年10月5日
    3

发表回复

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

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