首頁 > Java > java教程 > Java怎麼產生指定範圍內的一個隨機整數

Java怎麼產生指定範圍內的一個隨機整數

WBOY
發布: 2023-05-11 09:49:05
轉載
4279 人瀏覽過

 1、使用Math.random()可以產生一個double類型的[ 0.0,1.0)的隨機數(實際上的取值是【0.0,0.9999999】)

假設我們要產生一個【 20,80】的隨機數,20可以取到,80也可以取到。
產生【min,max】範圍內的隨機整數
公式:
(int)( min Math.random() * ( max - min 1))
##測試案例:產生一個【20,80】的隨機整數

	public static void main(String[] args) {
        for (int i = 1; i <= 80; i++) {
            int number = (int) (20 + Math.random() * (80 - 20 + 1));
            System.out.println(number);
        }
    }
登入後複製

可以多列印幾次測試結果。

Java怎麼產生指定範圍內的一個隨機整數

2、建立Random類別對象,呼叫nextInt()方法產生隨機數字

需求:產生0-10的隨機數,包含0和10

Random random = new Random();
int num = random.nextInt(10); //这样写的话,生成[ 0,9]的随机整数数。
登入後複製

如果我們要包含0和10,應該這樣寫

int num = random.nextInt(10+1);
登入後複製

即是說括號裡面的那個最大範圍數實際上是取不到的,所以我們要在括號裡面1 。

nextInt()產生隨機整數規律公式:

需求:產生【min,max】範圍內的隨機整數,包含min和max

Random random = new Random();
int num = min + random.nextInt( max - min + 1);
登入後複製

參考需求產生【0,10 】的隨機整數套用公式:

//生成【0,10】的随机整数
	Random random = new Random();
	int num = 0 + random.nextInt( 10 - 0 + 1);
//  int num = random.nextInt(11);
登入後複製

測試案例代碼:

  public static void main(String[] args){
        System.out.println("==========Random对象调用方法产生随机数===========");
        int[] arr2 = new int[5];
        Random random = new Random();
        //产生【1-10】的随机数
        for (int i = 0; i < arr2.length; i++) {
            arr2[i] = random.nextInt(10 + 1);
            System.out.print(arr2[i] + "  ");
        }
  }
登入後複製

隨機列印測試的資料(結果有隨機性,可以多運行幾次觀察結果)

Java怎麼產生指定範圍內的一個隨機整數

猜數字大小的遊戲

系統隨機產生【1,100】一個隨機數,使用者從控制台輸入一個數,兩者比較大小,若不相等,就提示用戶,他輸入的數字比系統產生的隨機數大還是小。

import java.util.Scanner;

public class Demo18 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int randomNumber = (int) (1 + Math.random() * (100 - 1 + 1));
        int userNumber;
        while (true) {
            System.out.println("请输入您猜测的数字[1,100]:");
            userNumber = sc.nextInt();
            if (userNumber == randomNumber) {
                System.out.println("恭喜您猜对了");
                System.out.println("系统生成的随机数:" + randomNumber);
                break;
            } else if (userNumber > randomNumber) {
                System.out.println("您猜的数字偏大");
            } else {
                System.out.println("您猜的数字偏小");
            }
        }
        System.out.println("游戏结束!");
    }
}
登入後複製

以上是Java怎麼產生指定範圍內的一個隨機整數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板