如何在 Java 中生成一個 1 到 10 之間的隨機數

Rupam Yadav 2023年10月12日
  1. random.nextInt() 生成 1 和 10 之間的隨機數
  2. Math.random() 生成 1 到 10 之間的隨機數
  3. ThreadLocalRandom.current.nextInt() 生成 1 到 10 之間的隨機數
如何在 Java 中生成一個 1 到 10 之間的隨機數

我們將看看在 Java 中隨機生成 1 到 10 之間的隨機數的步驟。我們將看到三個可以生成 1 到 10 之間隨機數的 Java 包或類,以及其中哪個是最適合使用的。

random.nextInt() 生成 1 和 10 之間的隨機數

java.util.Random 是 Java 自帶的一個包,我們可以用它來生成一個範圍之間的隨機數。在我們的例子中,範圍是 1 到 10。

這個包有一個類 Random,它允許我們生成多種型別的數字,無論是 int 還是 float. 檢查一下這個例子,以便更好地理解。

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    Random random = new Random();

    int value = random.nextInt(max + min) + min;
    System.out.println(value);
  }
}

輸出:

	6

為了證明上面的技術是有效的,並且每次都能生成隨機數,我們可以使用一個迴圈來生成一個新的隨機數,直到它完成。由於我們的數字範圍不大,隨機數可能會被重複。

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    Random random = new Random();

    for (int i = 1; i <= 10; i++) {
      int value = random.nextInt((10 - 1) + 1) + 1;
      System.out.println(value);
    }
  }

輸出:

10
7
2
9
2
7
6
4
9

Math.random() 生成 1 到 10 之間的隨機數

另一個可以幫助我們實現目標的類是 Math,它有多個靜態函式來隨機化數字。我們將使用 random() 方法。它返回一個 float 型別的隨機值。這就是為什麼我們要把它轉換為一個 int

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;
    for (int i = min; i <= max; i++) {
      int getRandomValue = (int) (Math.random() * (max - min)) + min;
      System.out.println(getRandomValue);
    }
  }

輸出:

5
5
2
1
6
9
3
6
5
7

ThreadLocalRandom.current.nextInt() 生成 1 到 10 之間的隨機數

我們列表中最後一個獲取 1 到 10 之間隨機數的方法是使用 JDK 7 中為多執行緒程式引入的 ThreadLocalRandom 類。

下面我們可以看到,我們必須呼叫該類的 current() 方法,因為我們希望在當前執行緒中生成隨機數。

import java.util.concurrent.ThreadLocalRandom;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    for (int i = 1; i <= 10; i++) {
      int getRandomValue = ThreadLocalRandom.current().nextInt(min, max) + min;

      System.out.println(getRandomValue);
    }
  }
}

輸出:

3
4
5
8
6
2
6
10
6
2
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java Number