您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java怎么實現在指定范圍內生成隨機整數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java怎么實現在指定范圍內生成隨機整數”吧!
說到隨機,很多人的腦海中都會蹦出 Math.random() 這個方法。但它不能直接生成一個整數,而是生成一個[0.0, 1.0)之間的 double 類型的小數,如下:
public class demo01 {
public static void main(String[] args) {
System.out.println(Math.random());
System.out.println(getType(Math.random()));
}
public static String getType(Object obj){
return obj.getClass().toString();
}
}
打印結果:
0.9567296616768681
class java.lang.Double
由此可知,該方法只能在[0.0,1.0)之間生成一個隨機 double 類型的小數。那么如何利用 random 方法來實現生成指定范圍內的隨機小數呢?
假設我們需要生成一個范圍在[1,10]之間的隨機整數,具體思路如下。
Math.random() ===> [0.0, 1.0)
Math.random() * 10 ===> [0.0, 10.0)
(int)(Math.random() * 10 ) ===> [0, 9]
(int)(Math.random() *10) + 1 ===> [1, 10]
for (int i = 0; i < 10; i++) {
int a=(int)(Math.random() * 10 )+1;
System.out.println(a);
}
最后打印結果(多次結果):
9
10
1
10
3
1
6
8
7
5
可見結果符合我們的要求。
Random random=new Random();
int a=random.nextInt(25); // 在[0, 25)之間隨機生成一個 int 類型整數
假設我們需要生成一個 [63, 99]之間的整數,具體實現思路如下:
[63, 99] ===> 先找到這兩個數的最大公倍數 ===> 9
[7, 11] * 9 ===> 將最小值取0
([0, 4] + 7) * 9
Random random=new Random();
for (int i = 0; i < 10; i++) {
int a=(random.nextInt(5)+7)*9;
System.out.println(a);
}
打印結果:
72
81
99
90
63
99
63
72
81
99
感謝各位的閱讀,以上就是“Java怎么實現在指定范圍內生成隨機整數”的內容了,經過本文的學習后,相信大家對Java怎么實現在指定范圍內生成隨機整數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。