Java中的隨機(jī)數(shù)詳解
在java中我們可以使用java.util.Random類來(lái)產(chǎn)生一個(gè)隨機(jī)數(shù)發(fā)生。它有兩個(gè)構(gòu)造函數(shù),分別是Random()和Random(long seed)。Random()是用當(dāng)前時(shí)間即System.currentTimeMillis()作為發(fā)生器的種子,而Random(long seed)是用指定的seed作為發(fā)生器的種子。
當(dāng)隨機(jī)數(shù)發(fā)生器就是Random對(duì)象產(chǎn)生以后,可以通過(guò)對(duì)象調(diào)用不同的方法:nextInt()、nextLong()、nextFloat()、nextDouble()等來(lái)獲得不同類型的隨機(jī)數(shù)。 如果2個(gè)Random對(duì)象使用相同的種子(比如都是100),并且以相同的順序調(diào)用相同的函數(shù),那么它們的返回值完全相同。
話多無(wú)益,我先舉個(gè)栗子,如下代碼:
但是,我想要某個(gè)范圍的數(shù)字怎么辦呢?比如我想隨機(jī)產(chǎn)生 0-99之間的隨機(jī)數(shù),這個(gè)時(shí)候我們可以使用模數(shù)運(yùn)算符%。
將模數(shù)運(yùn)算符%作用于隨機(jī)數(shù)產(chǎn)生器所產(chǎn)生的隨機(jī)數(shù)身上,目的就是為了讓隨機(jī)數(shù)的最大值屬于我們所制定的操作數(shù)數(shù)值減1范圍內(nèi)。看下面代碼就將輸入控制在0~99的范圍內(nèi)。(友情提示:如果不加Math.abs(),輸出范圍將是-99~99。 )
先看不加Math.abs()的情況,如下
在看加了的情況,如下:
相關(guān)文章
Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理
這篇文章主要介紹了Springboot集成jsp及部署服務(wù)器實(shí)現(xiàn)原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08使用java實(shí)現(xiàn)備份和恢復(fù)SQLServer表數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何使用java實(shí)現(xiàn)備份和恢復(fù)SQLServer表數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01Java基礎(chǔ)知識(shí)精通各種運(yùn)算符
計(jì)算機(jī)的最基本用途之一就是執(zhí)行數(shù)學(xué)運(yùn)算,作為一門計(jì)算機(jī)語(yǔ)言,Java也提供了一套豐富的運(yùn)算符來(lái)操縱變量,本篇對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下2022-04-04JavaMail實(shí)現(xiàn)發(fā)送超文本(html)格式郵件的方法
這篇文章主要介紹了JavaMail實(shí)現(xiàn)發(fā)送超文本(html)格式郵件的方法,實(shí)例分析了java發(fā)送超文本文件的相關(guān)技巧,需要的朋友可以參考下2015-05-05java如何對(duì)接企業(yè)微信的實(shí)現(xiàn)步驟
本文主要介紹了java如何對(duì)接企業(yè)微信的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解
這篇文章主要介紹了Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03詳解利用SpringCloud搭建一個(gè)最簡(jiǎn)單的微服務(wù)框架
這篇文章主要介紹了詳解利用SpringCloud搭建一個(gè)最簡(jiǎn)單的微服務(wù)框架,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11Java基于Scanner對(duì)象的簡(jiǎn)單輸入計(jì)算功能示例
這篇文章主要介紹了Java基于Scanner對(duì)象的簡(jiǎn)單輸入計(jì)算功能,結(jié)合實(shí)例形式分析了Java使用Scanner對(duì)象獲取用戶輸入半徑值計(jì)算圓形面積功能,需要的朋友可以參考下2018-01-01SpringBoot用實(shí)體接收Get請(qǐng)求傳遞過(guò)來(lái)的多個(gè)參數(shù)的兩種方式
本文主要介紹SpringBoot用實(shí)體接收Get請(qǐng)求傳遞過(guò)來(lái)的多個(gè)參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04類添加注解@RequestMapping報(bào)錯(cuò)HTTP Status 404的解決
這篇文章主要介紹了類添加注解@RequestMapping報(bào)錯(cuò)HTTP Status 404的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08