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)用返回的是一個很大的正負(fù)區(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)文章
Java二進制操作(動力節(jié)點Java學(xué)院整理)
這篇文章給大家介紹了java二進制操作技巧,包括移位、位運算操作符等相關(guān)知識點,非常不錯,感興趣的朋友參考下吧2017-03-03
Spring Security實現(xiàn)5次密碼錯誤觸發(fā)賬號自動鎖定功能
在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中,賬號安全是重中之重,然而,暴力 破解攻擊依然是最常見的安全威脅之一,攻擊者通過自動化腳本嘗試大量的用戶名和密碼組合,試圖找到漏洞進入系統(tǒng),所以為了解決這一問題,賬號鎖定機制被廣泛應(yīng)用,本文介紹了Spring Security實現(xiàn)5次密碼錯誤觸發(fā)賬號鎖定功能2024-12-12
Mybatis實現(xiàn)Mapper動態(tài)代理方式詳解
這篇文章主要為大家詳細介紹了Mybatis實現(xiàn)Mapper動態(tài)代理方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
SpringAOP事務(wù)配置語法及實現(xiàn)過程詳解
這篇文章主要介紹了SpringAOP事務(wù)配置語法及實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06

