java中Random随机数使用和生成随机数的多个示例

在 Java 中,我们可以使用 java.util.Random 类生成伪随机数。伪随机数的特性是,虽然它们看起来是随机的,但实际上它们是由一个固定的算法生成的。只要我们提供相同的种子,这个算法就会生成相同的数字序列。

首先,我们需要创建一个 Random 类的实例。我们可以选择是否给它提供一个种子。如果我们不提供种子,Java 将使用当前时间的毫秒数作为种子。如果我们想在每次运行程序时都得到相同的数字序列,那么我们就需要提供一个固定的种子。

创建 Random 类实例后,我们可以使用它的各种方法来生成不同类型的随机数,比如 nextInt(), nextDouble(), nextLong(), nextFloat() 等方法。例如,nextInt() 方法将返回一个随机的 int 值,nextDouble() 方法将返回一个随机的 double 值,范围在 0.0 到 1.0 之间,等等。

下面是一个简单的示例,展示了如何使用 Random 类来生成随机数:

import java.util.Random;public class Main {public static void main(String[] args) {Random rand = new Random(); // 创建一个新的随机数生成器int randomInt = rand.nextInt(); // 生成一个随机的int值System.out.println("Generated Random Int: " + randomInt);int randomIntWithinRange = rand.nextInt(100); // 生成一个在0(包含)到100(不包含)之间的int值System.out.println("Generated Random Int within 0 to 100: " + randomIntWithinRange);double randomDouble = rand.nextDouble(); // 生成一个随机的double值 System.out.println("Generated Random Double: " + randomDouble);}
}

当我们运行上面的程序,我们将看到每一种方法生成的随机数。请注意,每次我们运行这个程序,生成的随机数都可能不同,因为我们没有为随机数生成器提供一个固定的种子。

下面我会提供五个关于java.util.Random类的使用实例:

实例1:生成一个0~100之间的随机整数

import java.util.Random;public class Main {public static void main(String[] args) {Random rand = new Random();int randomInt = rand.nextInt(100);  System.out.println("随机整数:" + randomInt);}
}

实例2:生成一个0.0~1.0之间的随机浮点数

import java.util.Random;public class Main {public static void main(String[] args) {Random rand = new Random();double randomDouble = rand.nextDouble();  System.out.println("随机浮点数:" + randomDouble);}
}

实例3:生成一个随机布尔值

import java.util.Random;public class Main {public static void main(String[] args) {Random rand = new Random();boolean randomBool = rand.nextBoolean();  System.out.println("随机布尔值:" + randomBool);}
}

实例4:生成一个在某个范围内的随机整数

import java.util.Random;public class Main {public static void main(String[] args) {Random rand = new Random();int min = 50;int max = 100;int randomNum = rand.nextInt((max - min) + 1) + min;System.out.println("在50-100之间的随机数:" + randomNum);}
}

实例5:使用固定的种子生成随机数

import java.util.Random;public class Main {public static void main(String[] args) {long seed = 123456789;Random rand = new Random(seed);int randomInt = rand.nextInt();  System.out.println("固定种子生成的随机整数:" + randomInt);}
}

在这些例子中,我们可以看到java.util.Random类的多种用法,包括生成随机的整数、浮点数、布尔值,以及在一个指定的范围内生成随机数。

如果还有不会的问题,我们可以直接打开r5AI进行提问解答,地址:r5ai.com
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/200109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解十大经典排序算法(五):归并排序(Merge Sort)

算法原理 归并排序的核心思想是将一个大的数组分割成多个小的子数组,然后分别对这些子数组进行排序,最后将排序后的子数组合并起来,得到一个有序的大数组。 算法描述 归并排序(Merge Sort)是一种经典的排序算法&#x…

CoreDNS实战(六)-编译安装unbound插件

本文主要介绍coredns的unbound插件进行编译安装的过程及常用的配置方法。 coredns官方的unbound文档:unbound unbound插件的github地址:https://github.com/coredns/unbound 注:unbound插件虽然是coredns中的External Plugins,但…

机器学习中Fine-tuning应用实例

Fine-tuning(微调)是机器学习中一种常见的训练策略,其主要作用是在一个已经在大规模数据上预训练的模型基础上,通过使用特定任务的小规模数据集来进行额外的训练。Fine-tuning通常用于调整模型,使其适应新的任务或特定…

CMake中的include(CPack)

2023年12月5日,周二晚上 include(CPack) 是在 CMakeLists.txt 文件中包含 CPack 配置的指令。当在 CMakeLists.txt 文件中添加 include(CPack) 时,它会告诉 CMake 在构建过程中加载 CPack 的相关功能和配置。 具体来说,include(CPack) 会包含…

网络运维与网络安全 学习笔记2023.12.5

网络运维与网络安全 学习笔记 第三十五天 今日目标 su用户切换、sudo命令提权、部署动态Web应用 数据库安全加固、Web安全加固 网络监控基础、配置zabbix主控机、配置zabbix被控机 管理监控项、监控结果分析 su用户切换 su机制介绍及用法 Linux安全基线 指的是使Linux各项…

【Linux】24、文件系统、磁盘 IO

文章目录 一、文件系统1.1 索引节点和目录项1.2 虚拟文件系统 VFS1.3 文件系统 I/O1.5 性能观测1.5.1 容量1.5.2 缓存1.5.3 find 命令的缓存 二、磁盘 I/O2.1 通用块层2.2 I/O 栈2.3 磁盘性能指标2.3.1 磁盘 I/O 观测2.3.2 进程 I/O 观测 2.4 案例:找到打大量日志的…

【开源】基于Vue.js的贫困地区人口信息管理系统

文末获取源码,项目编号: S 073 。 \color{red}{文末获取源码,项目编号:S073。} 文末获取源码,项目编号:S073。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 人口信息管理模块2.2 精准扶贫管理模…

修改el-table表头样式

<style lang"scss" scoped> ::v-deep .el-table {.el-table__header-wrapper, .el-table__fixed-header-wrapper {th {word-break: break-word;background-color: #f8f8f9;color: #515a6e;height: 40px;font-size: 13px;}} } </style>

el-table全部选择和全部取消

el-table实现全部选择和全部取消 其实非常简单&#xff0c;el-table自带的都有方法toggleAllSelection()和clearSelection() 具体代码如下&#xff1a; <el-button typesuccess clickcheckAll sizesmall>全选</el-button> <el-button typesuccess clickcancel…

【苍穹外卖】——day3

文章目录 公共字段自动填充一、新增菜品二、菜品分页查询三、删除菜品分类四、修改菜品接口总结 公共字段自动填充 create_time,create_user,update_time,update_user这四个字段自动填充 步骤&#xff1a; 自定义注解AutoFill&#xff0c;用于标识需要进行公共字段自动填充的方…

设置python下载包代理

使用场景 正常网络情况下我们安装如果比较多的python包时&#xff0c;会选择使用pip install -r requirements.txt -i https://pypi.douban.com/simple --trusted-hostpypi.douban.com这种国内的镜像来加快下载速度。 但是&#xff0c;当这台被限制上网时&#xff08;公司安全…

基于ROPNet项目训练modelnet40数据集进行3d点云的配置

项目地址&#xff1a; https://github.com/zhulf0804/ROPNet 在 MVP Registration Challenge (ICCV Workshop 2021)&#xff08;ICCV Workshop 2021&#xff09;中获得了第二名。项目可以在win10环境下运行。 论文地址&#xff1a; https://arxiv.org/abs/2107.02583 网络简介…

【PID学习笔记 6 】控制系统的性能指标之二

写在前面 上文介绍了控制系统的稳态与动态、过渡过程、阶跃响应以及阶跃信号作用下过渡过程的四种形式。本文紧接上文&#xff0c;首先总结过渡过程的分类&#xff0c;然后介绍控制系统的性能评价&#xff0c;最后重点介绍控制系统性能指标中的单项指标。 一、过渡过程的分类…

int(1)和int(10)之间的区别

在Java编程语言中&#xff0c;int(1)和int(10)之间的区别主要在于它们的初始化值和类型。以下是详细的技术文档&#xff1a; 初始化值&#xff1a; int(1)表示将整数1赋值给变量&#xff0c;而int(10)表示将整数10赋值给变量。这意味着它们的初始化值不同&#xff0c;分别为1和…

Unity资源路径与读取

Unity资源路径有&#xff1a; 1、StreamingAssets&#xff1a;只读&#xff0c;一般用于存放应用程序运行时需要加载的资源文件&#xff0c;可以通过Application.streamingAssetsPath来获取。 2、PersistentDataPath&#xff1a;可读写&#xff0c;一般用于存放应用程序运行时…

java版微信小程序商城免费搭建 java版直播商城平台规划及常见的营销模式有哪些?电商源码/小程序/三级分销

涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis …

解密IIS服务器API跨域问题的终极解决方案

在当今数字化时代&#xff0c;API已成为现代应用程序的核心组件。然而&#xff0c;当你使用IIS&#xff08;Internet Information Services&#xff09;服务器提供API时&#xff0c;你可能会遇到一个常见的挑战&#xff1a;API跨域问题。这个问题经常困扰着开发人员&#xff0c…

CMake中的CPack

2023年12月5日&#xff0c;周二晚上 CPack 是 CMake 的一个组件&#xff0c;用于创建跨平台的软件包。它允许您在构建项目时自动创建安装程序或打包文件&#xff0c;以便在不同的平台上分发和部署您的软件。 CPack 提供了一种简单的方法来生成各种不同类型的软件包&#xff0c…

【Python3】【力扣题】383. 赎金信

【力扣题】题目描述&#xff1a; 题解&#xff1a; 两个字符串ransomNote和magazine&#xff0c;ransomNote中每个字母都在magazine中一一对应&#xff08;顺序可以不同&#xff09;。 即分别统计两个字符串中每个字母出现的次数&#xff0c;ransomNote中每个字母的个数小于等…

大数据面试总结

1、冒泡排序、选择排序 2、二分查找 3、 hashmap和hashtable的区别&#xff1f;hashmap的底层实现原理&#xff1f; a、hashtable和hashmap的区别&#xff1a; 1、hashtable是线程安全的&#xff0c;会在每一个方法中都添加方法synchronize&#xff08;同步机制&#xff09…