java random产生随机数_java的三种随机数生成方式,必掌握

随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:

d729c768e6328c34568dba7cfa8863c7.png

第一种:new Random()

第二种:Math.random()

第三种:currentTimeMillis()

第一种需要借助java.util.Random类来产生一个随机数发生器,也是最常用的一种,构造函数有两个,Random()和Random(long seed)。第一个就是以当前时间为默认种子,第二个是以指定的种子值进行。产生之后,借助不同的语句产生不同类型的数。

种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中。以后产生的随机数都与前一个随机数有关。以代码为例。

public static void main(String[] args){  Random r = new Random(1);  for(int i=0 ; i<5 ; i++)  {    int ran1 = r.nextInt(100);    System.out.println(ran1);  }}

在我的编译器下产生的五个数均为85,88,47,13,54,如果采用Random r = new Random(),产生的随机数就不同,这就是确定种子导致的结果。

第二种方法返回的数值是[0.0,1.0)的double型数值,由于double类数的精度很高,可以在一定程度下看做随机数,借助(int)来进行类型转换就可以得到整数随机数了,代码如下。

public static void main(String[] args){ int max=100,min=1;int ran2 = (int) (Math.random()*(max-min)+min); System.out.println(ran2);}

至于第三种方法虽然不常用,但是也是一种思路。方法返回从1970年1月1日0时0分0秒(这与UNIX系统有关)到现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数。

public static void main(String[] args){int max=100,min=1;long randomNum = System.currentTimeMillis();int ran3 = (int) (randomNum%(max-min)+min);System.out.println(ran3);}

点击免费获取

有需要的私信免费发

15caeea610e4693161daf9eba1c16fac.png

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

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

相关文章

C 怎么处理windows路径_python学习笔记-7:文件读写之文件与文件路径

文件关键属性:路径文件名根据已知的文件路径生成包含正确路径分隔符的文件路径字符串&#xff1a;import osstt os.path.join(usr,bin,spam)print(stt)#usrbinspamwindows的路径分隔符为&#xff0c;字符串中使用需要转义字符&#xff0c;因此应输入为当前工作目录程序运行时&…

android手机图标 足球球星,世界足坛九大现役球星标志性绰号,第一名所有人都服!...

原标题&#xff1a;世界足坛九大现役球星标志性绰号&#xff0c;第一名所有人都服&#xff01;9&#xff0c;“大腿”桑切斯自打智利天王桑切斯离开当年无比辉煌的巴萨加盟阿森纳后&#xff0c;就被无数球迷冠以“大腿”的绰号&#xff0c;当然这完全源自于他在英超阿森纳队中极…

mysql 互为主备 宕机 数据丢失_Devops部署-mysql主备多从搭建

​双主多从架构原理介绍IP端口账号密码服务名10.1.1.23306root/syncabc123!数据库A10.1.1.33306root/syncabc123!数据库B10.1.1.43306root/syncabc123!数据库C1.两台mysql都可读写&#xff0c;互为主备&#xff0c;默认只使用一台&#xff08;masterA&#xff09;负责数据的写入…

sourcetree mac 免登录_「vscode remote ssh 免登录」mac

如果你只知道传统的ssh操作&#xff0c;或者sftp/ftp上传下载操作&#xff0c;那可能有点太low了。强烈推荐你使用 vscode remote ssh。举个栗子来形象比喻一下&#xff1a;钥匙开门 和 指纹开门 的区别。已经用 vscode remote ssh 功能有很久了&#xff0c;这种体验真的太棒了…

python中汉字与变量不可同时出现_Python语言应用培训课(选择练习)

第一部分1、多选题&#xff1a;Python在金融中的运用包括( )选项&#xff1a;A:绩效分析B:风险分析C:程序化交易D:量化分析答案: 【绩效分析;风险分析;程序化交易;量化分析】第二部分1、判断题&#xff1a;python语言支持中文字符作为变量名称&#xff0c;但具有语法意义的符号…

鸿蒙首饰用什么合成,天下HD鸿蒙炼炉是什么?鸿蒙炼炉讲解

在玩天下HD的时候各位又是否知道鸿蒙炼炉是什么呢&#xff1f;其实鸿蒙炼炉是游戏之中一个很重要的系统&#xff0c;而对于这个系统本次小编就给各位带来了鸿蒙炼炉讲解。或许各位都有用到天下HD的鸿蒙炼炉系统&#xff0c;但是各位又是否了解鸿蒙炼炉系统是怎么样的呢&#xf…

如何区分网线是几类的_小移课堂 | 网线这样选,网速才能嗖嗖的!

在家宅到长蘑菇的日子里最亲近的&#xff0c;除了家人&#xff0c;就是WiFi想必大家碰上网速不好的时候都会很抓狂为什么家里的网络明明签约的是千兆可网速一直上不去?网线&#xff0c;是卡住网速的关键因素&#xff01;问网线不是通用的吗&#xff1f;还要用专门的网线吗&…

navicat premium 链接postgresql 无法加载表_PostgreSQL 每周新闻 2020311

PostgreSQL 每周新闻 2020-3-11英文原文地址&#xff1a;https://postgresweekly.com/issues/346Postgres子事务和性能本文展示了过度使用子事务对性能的影响&#xff0c;以及如何诊断在您的数据库里是否有这样的问题。Laurenz AlbePostgreSQL匿名器0.6&#xff1a;假名化和改进…

python无法打开_如何解决Windows命令行无法运行python文件?

我在使用windows的命令行运行python文件&#xff0c;但是每次出现的都是这种情况我设置了Path&#xff0c;D:Python&#xff0c;后来又设置了个PythonPath&#xff0c;添加了Lib和DLLS的路径&#xff0c;但是没用。 我觉得还是设置环境变量的问题&#xff0c;请问大家有什么办法…

iis7设置html支持asp,Win7下启用IIS7配置ASP运行环境的详细方法

第一次在windows7下配置IIS&#xff0c;虽然有丰富的xp下配置IIS的经验&#xff0c;但还是会遇到不少的问题。特别是对入门者来说&#xff0c;搞清一些东西还是挺费时间的。其实win7下的IIS7配置过程是非常简单的。下面让seo博客来详细的介绍一下win7下配置IIS7环境运行ASP网站…

ajax post提交数据_详解Ajax异步加载

前言&#xff1a;作为资深球迷&#xff0c;提起Ajax&#xff0c;第一反应想到的是阿贾克斯&#xff0c;那个曾培养出伊布&#xff0c;范德法特&#xff0c;苏亚雷斯&#xff0c;亨特拉尔等一众球星的荷甲著名球队。很显然&#xff0c;我们今天说的Ajax&#xff0c;跟足球没有任…

win10改计算机用户名,win10系统修改本地账号用户名的操作方法

很多小伙伴都遇到过对win10系统修改本地账号用户名进行设置的困惑吧&#xff0c;一些朋友看过网上对win10系统修改本地账号用户名设置的零散处理方法&#xff0c;并没有完完全全明白win10系统修改本地账号用户名的操作方法非常简单&#xff0c;只需要1、首先打开Win10控制面板&…

假设以带头结点的循环链表表示队列_关于反转链表,看这一篇就够了!

本期例题&#xff1a;LeetCode 206 - Reverse Linked List[1](Easy)反转一个单链表。示例&#xff1a;输入&#xff1a; 1->2->3->4->5->NULL输出&#xff1a; 5->4->3->2->1->NULL反转链表这道题是我在阿里的面试中遇到的题目。它本身也是单链表…

1650显卡学计算机,适合老电脑升级?GTX1650显卡开箱,性价比依然不高!

原标题&#xff1a;适合老电脑升级&#xff1f;GTX1650显卡开箱&#xff0c;性价比依然不高&#xff01;新一代的NV显卡高端版本基本上全部和大家见面&#xff0c;例如RTX2080ti、RTX2070等等。而中端的RTX2060和GTX1660ti也陆续被玩家接受&#xff0c;剩下入门级的显卡英伟达取…

iphone怎样关闭副屏_iPhone手机关掉这3个设置,不仅省电,而且手机还不会卡

现在很多人无论是吃饭睡觉上厕所手机都会形影不离&#xff0c;然而手机玩久了电量就会刷刷的往下掉&#xff0c;不仅如此长时间下去手机还会出现卡顿的情况。如何才能令手机不卡顿并且最大限度上省电呢&#xff1f;为大家分享几个技巧&#xff0c;关掉这3个设置&#xff0c;手机…

武汉计算机985211大学有哪些,武汉985211大学有哪些 武汉985211大学有什么

想必大家都听过去武大看樱花这句话吧!湖北最出名的大学可能就是武汉大学了&#xff0c;但是武汉大学不仅仅以其优秀的师资闻名&#xff0c;也以校园里美丽的樱花闻名。想要了解武汉985211大学有哪些&#xff0c;就来看看这些文章吧!武汉的985大学有武汉大学和华中科技大学。211…

vmci.sys版本不正确_这样安装 Python 库才是最正确的哦

优质文章&#xff0c;第一时间送达&#xff01;分享一篇之前的文章&#xff0c;里面的这个Python知识点&#xff0c;可能很多人都还不清楚。平常我都是直接执行 pip install安装的第三方库&#xff0c;很多教程也是这么介绍的&#xff0c;一直以来我都认为这是标准的、正确的安…

概率计算机在线,高斯正态分布(概率)计算公式与在线计算器_三贝计算网_23bei.com...

输入平均值(M)、标准偏差(S)、数值(X1)、(选填)数值(X2)等已知量&#xff0c;点击计算按钮&#xff0c;可快速求出概率P(XX1)、概率P(XX2)、概率P(X1到X2)等结果。正态分布(Normal distribution)&#xff0c;也称“常态分布”&#xff0c;又名高斯分布(Gaussian distribution)&…

mybatis 连接池_应用框架之Mybatis数据源和连接池

本文将从以下几个方面介绍Mybatis的数据源和连接池&#xff1a;MyBatis数据源DataSource分类数据源DataSource的创建过程DataSource什么时候创建Connection对象MyBatis数据源DataSource分类MyBatis数据源实现是在以下四个包中&#xff1a;MyBatis把数据源DataSource分为三种&am…

python默认安装地址_python多版本下设置python3为默认的方法

python3设置为多版本为默认的方法 如何在双python下设置python3为默认 在C:\Program下举例 第一步安装好python2和python3后设置好环境变量 第二步去掉python2根目录下的python.exe文件&#xff0c;还有Scripts文件夹下的pip.exe文件 第二步复制python3根目录下的python3.exe文…