如何隨機生成 1~100 之間的隨機數,取值包含邊界值 1 和 100。
或者是:
如何隨機生成隨機的3位整數?
等等……
原文地址:https://blog.csdn.net/qq_34741578/article/details/91548374
以 Java 語言為例,我們觀察其 Random 對象的 nextInt(int) 方法,發現這個方法將生成 0 ~ 參數之間隨機取值的整數。例如(假設先有 Random rand = newRandom();,下同):
rand.nextInt(100);
這行代碼將生成范圍0~100 之間的隨機數,有趣的是,取值可能為 0 ,但不可能為 100。我們用中學數學課學習的區間表示法,表示為:[0, 100)。
運行下面的代碼,將獲得 [1, 100] 的 10 個取值
import java.util.Random;
public class Test {
public static void main(String[] args){
Random rand = new Random();
for(int i=0; i<10; i++) {
System.out.println(rand.nextInt(100) + 1);
}
}
}
生成隨機三位數的代碼為:
rand.nextInt(900)+ 100;
生成區間 [64,128] 中隨機值的代碼為:
rand.nextInt(65)+ 64;
取值可能性的數量是如何計算出來的呢?當然是 最大取值-最小取值+1 ,所以,*有最終公式如下:*
int randNumber =rand.nextInt(MAX - MIN + 1) + MIN; // randNumber 將被賦值為一個 MIN 和 MAX 范圍內的隨機數