Java隨機(jī)值設(shè)置(java.util.Random類或Math.random方法)
在Java中設(shè)置隨機(jī)值通常涉及到j(luò)ava.util.Random類或Math.random()方法。
使用Math.random()方法
Math.random()生成的隨機(jī)數(shù)是一個(gè)double類型,生成的值范圍在[0.0,1.0)。
如果需要一個(gè)特定范圍的隨機(jī)數(shù),需要對(duì)這個(gè)值進(jìn)行適當(dāng)?shù)目s放和類型轉(zhuǎn)換
public class RandomExample { public static void main(String[] args) { // 生成1到100之間的隨機(jī)整數(shù) int randomInt = (int) (Math.random() * 100) + 1; System.out.println(randomInt); } }
使用java.util.Random類
java.util.Random類提供了一個(gè)更靈活的方式來生成隨機(jī)數(shù),可以用來生成不同類型的隨機(jī)數(shù),還可以指定隨機(jī)數(shù)生成的范圍。
import java.util.Random; public class Test { public static void main(String[] args) { Random rand = new Random(); // 生成一個(gè)隨機(jī)的int值 int randomInt = rand.nextInt(); // 注意:這將生成一個(gè)負(fù)數(shù)或正數(shù)的隨機(jī)整數(shù) // 生成一個(gè)指定范圍的隨機(jī)int值(包括邊界值) int randomIntInRange = rand.nextInt(100) + 1; // 1到100之間的隨機(jī)整數(shù) // 生成一個(gè)隨機(jī)的double值 double randomDouble = rand.nextDouble(); // 0.0到1.0之間的隨機(jī)double值 System.out.println(randomIntInRange); System.out.println(randomDouble); } }
附:第三方工具類
如Apache Common Lang庫(kù)與Apache Common Math庫(kù)中提供的隨機(jī)數(shù)生成類,真正使用一行代碼來實(shí)現(xiàn)復(fù)雜的隨機(jī)數(shù)生成。
public void testRandom_generatingFloatBounded_withApacheLang() throws Exception { float min = 1f; float max = 10f; float generatedFloat = RandomUtils.nextFloat(min, max); System.out.println(generatedFloat); }
總結(jié)
到此這篇關(guān)于Java隨機(jī)值設(shè)置的文章就介紹到這了,更多相關(guān)Java隨機(jī)值設(shè)置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Flutter 通過Clipper實(shí)現(xiàn)各種自定義形狀的示例代碼
這篇文章主要介紹了Flutter 通過Clipper實(shí)現(xiàn)各種自定義形狀的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12RocketMQ之Consumer整體介紹啟動(dòng)源碼分析
這篇文章主要為大家介紹了RocketMQ源碼分析之Consumer整體介紹啟動(dòng)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05springboot+springsecurity+mybatis+JWT+Redis?實(shí)現(xiàn)前后端離實(shí)戰(zhàn)教程
這篇文章主要介紹了springboot+springsecurity+mybatis+JWT+Redis?實(shí)現(xiàn)前后端離實(shí)戰(zhàn)教程,需要的朋友可以參考下2024-01-01SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實(shí)現(xiàn)
本文主要介紹了SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03JDBC數(shù)據(jù)庫(kù)連接過程及驅(qū)動(dòng)加載與設(shè)計(jì)模式詳解
這篇文章主要介紹了JDBC數(shù)據(jù)庫(kù)連接過程及驅(qū)動(dòng)加載與設(shè)計(jì)模式詳解,需要的朋友可以參考下2016-10-10Java基礎(chǔ)之面向?qū)ο髾C(jī)制(多態(tài)、繼承)底層實(shí)現(xiàn)
這篇文章主要介紹了Java基礎(chǔ)之面向?qū)ο髾C(jī)制(多態(tài)、繼承)底層實(shí)現(xiàn),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04深入淺析ArrayList 和 LinkedList的執(zhí)行效率比較
這篇文章主要介紹了ArrayList 和 LinkedList的執(zhí)行效率比較的相關(guān)資料,需要的朋友可以參考下2017-08-08mybatis plus or and 的合并寫法實(shí)例
這篇文章主要介紹了mybatis plus or and 的合并寫法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02