在 Java 中生成隨機字元
-
在 Java 中使用
random.nextInt()
生成隨機字元 -
使用
random.nextInt()
和charAt()
從字串中生成隨機字元 -
使用 Apache Commons 的
RandomStringUtils
生成隨機字元
在本教程中,我們將介紹如何使用幾種方法生成一個隨機字元。我們將介紹三種方法,並舉例說明,以便更好地理解這個主題。
在 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn