簡體   English   中英

從數組隨機生成的三個特定字母

[英]Three specific letters random generated from array

我真的很想創建一個可以生成12個數組的3個隨機字母的類。 我在隨機請求int而不是char時遇到了一些麻煩。 感謝幫助! :)

首先,您需要定義一個字母String alphabet = "AaBb..." ,其中包含所有有效字符。 然后您的代碼如下所示:

public char generateRandomLetterFromAlphabet(String alphabet) {
    Random random = new Random();
    return alphabet.charAt(random.nextInt(alphabet.length()));
}

在這里, nextInt(alphabet.length())返回一個介於零和字母字符串長度之間的隨機索引,因此, generateRandomLetterFromAlphabet返回您字母的隨機字符。 請注意, Random生成偽隨機數。

當然,您的字母也可以由數組定義。 在這里,您可以使用一個函數來從字母表中生成指定數量的隨機字符作為字符數組:

public char[] generateRandomLettersFromAlphabet(char[] alphabet,
        int numberOfLetters) {

    if (numberOfLetters < 1) {
        throw new IllegalArgumentException(
                "Number of letters must be strictly positive.");
    }

    Random random = new Random();
    char[] randomLetters = new char[numberOfLetters];

    for (int i = 0; i < numberOfLetters; i++) {
        randomLetters[i] = alphabet[random.nextInt(alphabet.length)];
    }

    return randomLetters;

}

您可以使用ASCII碼將隨機整數轉換為對應的char。 有關ascii的更多信息,請訪問: http : //www.ascii-code.com/

這種簡單的方法基於65(大寫A)和90(大寫Z)之間的隨機整數輸出char。

public char randomChar(){
    Random r = new Random();
    int num = r.nextInt(26) + 65;
    return (char) num;
}

現在,您可以根據自己的目的調整此方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM