如何在Java中生成特定範圍內的隨機整數?


假設我們遇到需要透過Java程式在特定範圍內生成隨機整數的情況。對於給定的場景,Java中有兩種不同的方法可用。我們可以使用Random類或random()方法。讓我們在下一節中討論它們。

在特定範圍內生成隨機整數

我們將使用以下類和方法:

Random 類

我們建立此類的物件以在給定範圍內返回偽隨機數。我們將自定義此物件並應用我們自己的邏輯來在指定範圍內生成任何隨機值。為了檢索範圍內的值,我們需要一個名為“nextInt()”的內建方法,該方法從指定的序列返回下一個整數值。它與Random類的物件一起使用。

以下是建立Random類物件的語法:

語法

Random nameOfObject = new Random();

Math.random()

它是Math類的一個靜態方法,用於返回double型別的偽隨機數。通常,它生成0.0到1.0之間的隨機數,但是,我們將它與我們的邏輯一起使用來生成整數。

方法1

  • 建立一個使用者定義的方法以及兩個整數型別的引數。目的是在這兩個引數之間生成一個隨機數。

  • 現在,定義Random類的物件,並使用內建方法“nextInt()”以及該物件生成一個隨機整數。

  • 在main()方法中,呼叫我們在第一步中建立的使用者定義方法,並使用兩個表示範圍的引數。

示例

以下示例說明了如何使用Random類在給定範圍內生成隨機整數。

import java.util.*;
public class Randomly {
   public static void generator(int start, int end) {
      Random rndm = new Random(); // object of class Random
      int val = rndm.nextInt(end - start) + start;
      System.out.println("A random value between given range: " + val);
   }
   public static void main(String[] args) {
      int start = 5;
      int end = 10;
      generator(start, end); // calling the method with arguments
   }
}

輸出

A random value between given range: 5

方法2

  • 首先,定義一個整數型別的範圍。

  • 使用一個for迴圈,該迴圈將執行到指定的範圍並生成多個隨機數。

  • 由於“Math.random()”返回一個double值,因此我們需要將其強制轉換為整數。

示例

在下面的示例中,我們將使用Math.random()生成多個隨機數。

public class Randomly {
   public static void main(String[] args) {
      int range = 5; // given range
      for(int i = 1; i <= range; i++) {
         double db1 = Math.random() + i;
         int val = (int) db1; // typecasting to integer
         System.out.println("Values at " + i + " : " + val);
      }
   }
}

輸出

Values at 1 : 1
Values at 2 : 2
Values at 3 : 3
Values at 4 : 4
Values at 5 : 5

方法3

  • 建立一個使用者定義的方法以及兩個整數型別的引數,它們定義了範圍。

  • 現在,使用“Math.random()”生成一個隨機值,並將其強制轉換為整數,然後列印它。

示例

以下示例演示瞭如何使用Math.random()在給定範圍內生成隨機整數。

import java.util.*;
public class Randomly {
   public static void generator(int start, int end) {
      double val1 = Math.random() * (end - start) + start;
      int val2 = (int) val1; // typecasting
      System.out.println("A random value between given range: " + val2);
   }
   public static void main(String[] args) {
      int start = 5;
      int end = 10;
      generator(start, end); // calling the method
   }
}

輸出

A random value between given range: 5

結論

在本文中,我們討論了一些Java程式,用於在特定範圍內生成隨機整數。在此過程中,我們發現了Random類和Math.random()方法的使用。兩者都返回偽隨機數。

更新於:2023年7月20日

720 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.