在 Java 中生成隨機字元

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 random.nextInt() 生成隨機字元
  2. 使用 random.nextInt()charAt() 從字串中生成隨機字元
  3. 使用 Apache Commons 的 RandomStringUtils 生成隨機字元
在 Java 中生成隨機字元

在本教程中,我們將介紹如何使用幾種方法生成一個隨機字元。我們將介紹三種方法,並舉例說明,以便更好地理解這個主題。

在 Java 中使用 random.nextInt() 生成隨機字元

Random 是 Java 中最常用的生成隨機值的類,但它不能生成字元。為了使用 Random 類隨機化字元,我們可以使用 random.nextInt() 來生成隨機整數。每個字元對應一個數字。

我們可以在 nextInt() 函式中使用一個字元作為邊界。在下面的例子中,我們可以看到,建立了一個 Random 類的物件,然後使用 (random.nextInt(26)+'a'。在這裡,字元'a'對應的是數字 97,利用它我們可以生成 26 個對應於小寫字母的隨機整數。

最後,我們必須將生成的整數轉換為一個字元。

import java.util.Random;

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

    char randomizedCharacter = (char) (random.nextInt(26) + 'a');
    System.out.println("Generated Random Character: " + randomizedCharacter);
  }
}

輸出:

Generated Random Character: p

使用 random.nextInt()charAt() 從字串中生成隨機字元

在下一個例子中,我們將再次使用 Random 類,以及它的 nextInt() 方法,但從已經定義的字符集中生成一個隨機字元。

下面我們可以看到,setOfCharacters 是一個包含多個字元的字元,包括字母、數字和符號。為了從這個字串中生成一個隨機字元,我們將使用 setOfCharacters 的長度作為 random.nextInt() 的引數。一旦生成一個隨機整數,我們就使用 charAt() 在一個隨機的索引或位置獲得一個字元。它將從 setOfCharacters 中返回一個隨機的 char

import java.util.Random;

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

    String setOfCharacters = "abcdefghxyz1234567-/@";

    int randomInt = random.nextInt(setOfCharacters.length());
    char randomChar = setOfCharacters.charAt(randomInt);

    System.out.println("Random character from string: " + randomChar);
  }
}

輸出:

Random character from string: 4

使用 Apache Commons 的 RandomStringUtils 生成隨機字元

在最後一個例子中,我們使用 Apache Commons 庫中的 RandomStringUtils 類。RandomStringUtils 類有一個函式 randomAlphanumeric() 來生成隨機的字母數字字串。randomAlphanumeric(count) 需要一個單一的引數,即我們想要的隨機字串的長度。

在下面的例子中,我們只向 randomAlphanumeric() 方法傳遞了 1,因為我們只想要一個字元。但是這個函式將結果作為一個字串返回。這就是為什麼我們必須將其轉換為字元。所以,我們使用 charAt() 從字串中獲取字元。

import org.apache.commons.lang3.RandomStringUtils;

public class RandomChar {
  public static void main(String[] args) {
    String randomizedString = RandomStringUtils.randomAlphanumeric(1);
    char randomizedCharacter = randomizedString.charAt(0);

    System.out.println("Generated Random Character: " + randomizedCharacter);
  }
}

輸出:

Generated Random Character: L
作者: 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 Char