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)文章
Java實(shí)現(xiàn)簡(jiǎn)易計(jì)算器(逆波蘭表達(dá)式)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,逆波蘭表達(dá)式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)Sqlite的實(shí)踐
sqlite這樣的內(nèi)存數(shù)據(jù)庫(kù),小巧可愛(ài),做小型服務(wù)端演示程序,非常好用,本文主要介紹了SpringBoot集成Sqlite,具有一定的參考價(jià)值,感興趣的可以了解一下2021-09-09
老生常談foreach(增強(qiáng)for循環(huán))和for的區(qū)別
下面小編就為大家?guī)?lái)一篇老生常談foreach(增強(qiáng)for循環(huán))和for的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
Spring靜態(tài)代理和動(dòng)態(tài)代理代碼詳解
這篇文章主要介紹了Spring靜態(tài)代理和動(dòng)態(tài)代理代碼詳解,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
IDEA運(yùn)行導(dǎo)入的javaweb項(xiàng)目tomcat正常,但是運(yùn)行失敗404問(wèn)題
這篇文章主要介紹了IDEA運(yùn)行導(dǎo)入的javaweb項(xiàng)目tomcat正常但是運(yùn)行失敗404問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
SpringBoot3整合SpringSecurity6快速入門(mén)示例教程
SpringSecurity 是Spring大家族中一名重要成員,是專門(mén)負(fù)責(zé)安全的框架,本文給大家介紹SpringBoot3整合SpringSecurity6快速入門(mén)示例教程,感興趣的朋友一起看看吧2025-04-04
Java實(shí)戰(zhàn)之課程信息管理系統(tǒng)的實(shí)現(xiàn)
這篇文章主要介紹了如何利用Java實(shí)現(xiàn)課程信息管理系統(tǒng),文中采用到的技術(shù)有:Springboot、SpringMVC、MyBatis、FreeMarker等,感興趣的可以了解一下2022-04-04
Spring?Boot?Nacos?實(shí)現(xiàn)不停服發(fā)布過(guò)程詳解
這篇文章主要為大家介紹了Spring?Boot?Nacos實(shí)現(xiàn)不停服發(fā)布過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
MyBatis-Plus如何最優(yōu)雅最簡(jiǎn)潔地完成數(shù)據(jù)庫(kù)操作
Mybatis-Plus是一個(gè)?Mybatis?的增強(qiáng)工具,在?Mybatis?的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關(guān)于MyBatis-Plus如何最優(yōu)雅最簡(jiǎn)潔地完成數(shù)據(jù)庫(kù)操作的相關(guān)資料,需要的朋友可以參考下2022-03-03

