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,一经查实,立即删除!

相关文章

android n-ify miui,MIUI7.5版刷机包

MIUI7.5先行版给你带来跟多的天气信息和资讯&#xff0c;小米MIUI8的正式版虽然还没有推出&#xff0c;如空气质量&#xff0c;所以在Android N-ify模块下有点显示问题。MIUI7.5版刷机包小米miui7.5刷机方法下载Miflash线刷工具&#xff0c;双击进行安装&#xff0c;安装期间如…

python代码书写_Python代码的优雅写法,让代码更简洁

我们都知道&#xff0c;Python 的设计哲学是「优雅」、「明确」、「简单」。这也许很多人选择 Python 的原因。但是我收到有些伙伴反馈&#xff0c;他写的 Python 并不优雅&#xff0c;甚至很臃肿&#xff0c;那可能是你的姿势不对哦&#xff01;今天就给大家带来 Python 语句的…

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;这种体验真的太棒了…

signature=9e6873686326b073f8f457fa0e6c2f70,Signature required

摘要&#xff1a;Model comprehension and effective use and reuse of complex subsystems are problems currently encountered in the automotive industry. To address these problems we present a technique for extracting, presenting, and making use of signatures f…

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

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

python find函数 和index的区别_find方法和index方法的区别

Python find()&#xff1a; find 方法检测字符串中是否包含子字符串 str &#xff0c;如果指定 beg&#xff08;开始&#xff09; 和 end&#xff08;结束&#xff09; 范围&#xff0c;则检查是否包含在指定范围内&#xff0c;如果包含子字符串返回开始的索引值&#xff0c;否…

html5图像映射坐标怎么看,如何将AxesImage中的坐标映射到已保存图像文件中的坐标?...

这是尝试从matplotlib获取精确像素值的更令人困惑的部分之一. Matplotlib将绘制精确像素值的渲染器与绘制图形和轴的画布分开.基本上,最初创建(但尚未显示)图形时存在的渲染器不一定与显示图形或将其保存到文件时使用的渲染器相同.你正在做的是正确的,但是它使用的是初始渲染器…

vue获取元素距离页面顶部的距离_VUE实时监听元素距离顶部高度的操作

效果图如下所示.html今日热门今日热销.jsmounted(){window.addEventListener(scroll,this.handleScrollx,true)},methods: {handleScrollx() {console.log(滚动高度,window.pageYOffset)console.log(距离顶部高度,this.$refs.pronbit.getBoundingClientRect().top)},}补充知识&…

鸿蒙首饰用什么合成,天下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网站…

java 手写阻塞队列_Java阻塞队列的实现

阻塞队列与普通队列的区别在于&#xff0c;当队列是空的时&#xff0c;从队列中获取元素的操作将会被阻塞&#xff0c;或者当队列是满时&#xff0c;往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞&#xff0c;直到其他的线程往空的队列插入新…

python语句解释_深入理解python with 语句

深入理解python with 语句 python中with 语句作为try/finally 编码范式的一种替代, 适用于对资源进行访问的场合&#xff0c;确保不管使用过程中是否发生异常都会执行必要的”清理”操作&#xff0c;释放资源&#xff0c;比如文件使用后自动关闭、线程中锁的自动获取和释放等 1…

js怎么设置z index.html,HTML5 Canvas set z-index

j0kEli Stone提出了一个问题&#xff1a;HTML5 Canvas set z-index&#xff0c;或许与您遇到的问题类似。回答者markE给出了该问题的处理方式&#xff1a;Yes..kind of yes. You can use compositing to "draw behind" existing pixels.ctx.globalCompositeOperation…

python搭建分布式集群_Spark完全分布式集群搭建【Spark2.4.4+Hadoop3.2.1】

一.安装Linux需要&#xff1a;3台CentOS7虚拟机注意&#xff1a;虚拟机的网络设置为NAT模式&#xff0c;NAT模式可以在断网的情况下连接上虚拟机而桥架模式不行&#xff01;二.设置静态IP跳转目录到&#xff1a;修改IP设置&#xff1a;备注&#xff1a;执行scp命令拷贝设置文件…