java Random.nextInt()方法的具體使用
lic int nextInt(int n)
該方法的作用是生成一個隨機的int值,該值介于[0,n)的區(qū)間,也就是0到n之間的隨機int值,包含0而不包含n。
直接上代碼:
package org.xiaowu.random.demo; import java.util.Random; import org.junit.Test; public class RandomDemo { @Test public void Demo(){ Random rnd = new Random(); int code = rnd.nextInt(8999) + 1000; System.out.println("code:"+code); } @Test public void Demo1(){ Random r = new Random(); int nextInt = r.nextInt(); Random r1 = new Random(10); int nextInt2 = r1.nextInt(); System.out.println("nextInt:"+nextInt); System.out.println("nextInt2:"+nextInt2); } /** * 生成[0,1.0)區(qū)間的小數(shù) * */ @Test public void Demo2(){ Random r = new Random(); double d1 = r.nextDouble(); System.out.println("d1:"+d1); } /** * 生成[0,5.0)區(qū)間的小數(shù) * */ @Test public void Demo3(){ Random r = new Random(); double d2 = r.nextDouble()* 5; System.out.println("d1:"+d2); } /** * 生成[1,2.5)區(qū)間的小數(shù) * */ @Test public void Demo4(){ Random r = new Random(); double d3 = r.nextDouble() * 1.5 + 1; System.out.println("d1:"+d3); } /** * 生成任意整數(shù) * */ @Test public void Demo5(){ Random r = new Random(); int n1 = r.nextInt(); System.out.println("d1:"+n1); } /** * 生成[0,10)區(qū)間的整數(shù) * */ @Test public void Demo6(){ Random r = new Random(); int n2 = r.nextInt(10); int n3 = Math.abs(r.nextInt() % 10); System.out.println("n2:"+n2); System.out.println("n3:"+n3); } /** * 生成[0,10]區(qū)間的整數(shù) * */ @Test public void Demo7(){ Random r = new Random(); int n3 = r.nextInt(11); int n4 = Math.abs(r.nextInt() % 11); System.out.println("n3:"+n3); System.out.println("n4:"+n4); } /** * 生成[-3,15)區(qū)間的整數(shù) * */ @Test public void Demo8(){ Random r = new Random(); int n4 = r.nextInt(18) - 3; int n5 = Math.abs(r.nextInt() % 18) - 3; System.out.println("n4:"+n4); System.out.println("n5:"+n5); } }
Java中使用Random類中的nextInt()方法返回一個偽隨機數(shù)
問題
今天想讓程序返回一個區(qū)間內(nèi)的隨機數(shù)。忘記怎么寫了,就去百度搜給出的結(jié)果并不對。
import java.util.Random; /** * @author HP * @date 2019/4/16 */ public class randomTest { public static void main(String[] args) { Random random = new Random(); //生成64-128內(nèi)的隨機數(shù) int i = random.nextInt() * (128 - 64 + 1) + 64; /** * 生成 [m,n] 的數(shù)字 * int i1 = random.nextInt() * (n-m+1)+m; * */ //生成0-64內(nèi)的數(shù)字 int i1 = random.nextInt() * (64-0+1); /** * 生成0-n之內(nèi)的數(shù)字 * int i1 = random.nextInt() * (n-0+1); * * * */ } }
這樣是不對的,我就去查看API文檔,發(fā)現(xiàn)nextInt()可以有參數(shù)也可以無參數(shù)。
無參數(shù)的方法直接調(diào)用返回的是一個很大的正負區(qū)間上的數(shù)。
如果想返回想要的范圍內(nèi)的數(shù),應(yīng)該:
package chapter6; import java.util.Random; import org.omg.Messaging.SyncScopeHelper; public class RandomTest { public static void main(String[] args) { Random random = new Random(); for(int i=0;i<200;i++) { // 輸出為0~13之間的整數(shù) System.out.println(random.nextInt(14)); } System.out.println("----------------------------"); for(int j=0;j<100;j++){ // 輸出為-9~0之間的整數(shù) System.out.println(random.nextInt(10)-9); } } }
到此這篇關(guān)于java Random.nextInt()方法的具體使用的文章就介紹到這了,更多相關(guān)java Random.nextInt使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot實現(xiàn)服務(wù)接入nacos注冊中心流程詳解
這篇文章主要介紹了SpringBoot實現(xiàn)服務(wù)接入nacos注冊中心流程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01SpringBoot后端數(shù)據(jù)校驗實戰(zhàn)操作指南
在項?開發(fā)中,對于前端提交的表單,后臺接?接收到表單數(shù)據(jù)后,為了保證程序的嚴謹性,通常后端會加?業(yè)務(wù)參數(shù)的合法校驗操作來避免程序的?技術(shù)性?bug,這篇文章主要給大家介紹了關(guān)于SpringBoot后端數(shù)據(jù)校驗的相關(guān)資料,需要的朋友可以參考下2022-07-07java工具類SendEmailUtil實現(xiàn)發(fā)送郵件
這篇文章主要為大家詳細介紹了java工具類SendEmailUtil實現(xiàn)發(fā)送郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02Java 進階使用 Lambda 表達式實現(xiàn)超強的排序功能
今天要說的是第二種排序方式,在內(nèi)存中實現(xiàn)數(shù)據(jù)排序。這篇文章主要介紹了Java 進階使用 Lambda 表達式實現(xiàn)超強的排序功能,需要的朋友可以參考下2021-11-11IDEA在創(chuàng)建包時如何把包分開實現(xiàn)自動分層(方法詳解)
這篇文章主要介紹了IDEA在創(chuàng)建包時如何把包分開實現(xiàn)自動分層,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09SpringBoot如何獲取application.properties中自定義的值
這篇文章主要介紹了SpringBoot獲取application.properties中的自定義的值,目錄結(jié)構(gòu)文件代碼給大家列舉的非常詳細,需要的朋友可以參考下2021-09-09