您好,登錄后才能下訂單哦!
這篇“Java中生成隨機數的方式有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java中生成隨機數的方式有哪些”文章吧。
該方法相對于 Random 類而言比較簡單,因為 Math 類是 Java 的內置包裝類,無需創建一個實例化對象,可以在程序中直接調用該類,以及使用該類的方法。
使用該方法的小伙伴們應該都知道,該方法只能是生成 [0.0,1.0) 之間 double 類型的任意一個小數,生成的隨機數相對比較單一,想要生成其他類型的,就需要在該方法前面加上一個類型強轉。
public class Demo01 {
public static void main(String[] args) {
for (int i = 0; i <5 ; i++) {
System.out.println("第"+(i+1)+"個隨機數"+Math.random());
}
}
}
打印結果:
第1個隨機數0.414584525834634
第2個隨機數0.20853675432372987
第3個隨機數0.8055865595912437
第4個隨機數0.36986922245541953
第5個隨機數0.8716016725358281
生成具體范圍內的任意一個整數,例如在 [20, 35] 之間生成隨機數。
public class Demo01 {
public static void main(String[] args) {
int num;
for (int i = 0; i < 5; i++) {
/**
* 要求是在[20,35]之間生成一個隨機整數
* 因為要包括35,但是random隨機生成是不包括右側的值,所以右側取36
* 即[20,36)
* 左右各減去20 [0,16)
* 而Math.random的范圍是在[0,1),需要乘上16
* 最后再加上20,即[20,36)
* 在進行 int 強轉
* */
num = (int)(Math.random()*16)+20;
System.out.println("第"+(i+1)+"次:"+num);
}
}
}
打印結果:
第1次:29
第2次:25
第3次:33
第4次:34
第5次:30
Random 相較于 Math.random() 方法而言,它提供了各式各樣的生成隨機數的方式,可以生成 boolean,int,long,float,byte以及double類型的隨機數。
Random 類是屬于 java.util 包的,該類經常使用的兩個構造方法如下:
Random() 使用一個和系統時間(也就是你電腦右下角的時間)對應的數字作為種子數,然后根據這個種子數構造一個 Random 對象。
Random(long seed) 使用單個 long 類型的參數創建一個新的隨機數生成器。
下面將通過編寫一個簡單的 Java 程序,來演示 Random 的具體使用:
import java.util.Random;
public class Demo02 {
public static void main(String[] args) {
// 需要創建一個Random類實例化對象
Random random=new Random();
double d1=random.nextDouble(); // 生成一個[0.0,1.0)之間double類型的小數
double d2=random.nextDouble() * 10; // 生成一個[0.0,10.0)之間double類型的小數
int i1=random.nextInt(5); // 生成[0,5)之間的一個整數
int i2=random.nextInt(15)-5;// 生成[-5,10)之間的一個整數
long l1=random.nextLong(); // 生成一個長整型的整數
boolean b1=random.nextBoolean(); // 生成一個布爾值
float f1=random.nextFloat(); // 生成一個浮點型
System.out.println("[0.0,1.0)隨機生成的小數是:"+d1);
System.out.println("[0.0,10.0)隨機生成的小數是:"+d2);
System.out.println("[0,5)隨機生成的整數是:"+i1);
System.out.println("[-5,10)隨機生成的整數是:"+i2);
System.out.println("隨機生成的長整型是:"+l1);
System.out.println("隨機生成的布爾值是:"+b1);
System.out.println("隨機生成的浮點型是:"+f1);
}
}
打印結果:
[0.0,1.0)隨機生成的小數是:0.9045874539818738
[0.0,10.0)隨機生成的小數是:1.1869962319035776
[0,5)隨機生成的整數是:2
[-5,10)隨機生成的整數是:1
隨機生成的長整型是:4030922400205769823
隨機生成的布爾值是:true
隨機生成的浮點型是:0.3139649
以上就是關于“Java中生成隨機數的方式有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。