我真的想做一個類,可以產生12個隨機數字3個隨機字母。我在隨機請求int而不是char時遇到了一些麻煩。感謝幫助! :)從數組中隨機生成三個特定的字母
回答
首先,你需要定義一個字母,它包含了所有有效字符。然後你的代碼可以是這樣的:
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;
}
我用'char'數組的一個通用示例更新了我的答案。 – thatguy
有50442個字母散佈在碼點數字空間中,所以字母表是一個很好的主意。 –
您可以使用ASCII碼爲隨機整數轉換爲對應的字符。大約在ASCII更多信息:http://www.ascii-code.com/
這種簡單的方法輸出基於65(資本A)和90(資本Z)之間的隨機整數炭。
public char randomChar(){
Random r = new Random();
int num = r.nextInt(26) + 65;
return (char) num;
}
現在你可以調整這個方法來達到你自己的目的。
'char'是一個UTF-16編碼單元,不是ASCII碼單元。 (UTF-16是Unicode字符集的編碼。)65的確是代碼點[Latin Capital Letter A]的一個UTF-16代碼單元(http://www.fileformat.info/info/unicode/char/ 0041/index.htm),但它更容易理解爲「A」。 –
- 1. 從數組中隨機生成的字母有問題
- 2. 生成獨特的隨機字母數字字符串
- 3. 生成隨機字母的函數
- 4. 從給定數字生成隨機數
- 5. C#二維數組中的隨機字母生成器 - 問題
- 6. 隨機生成器字母和整數
- 7. 在數組中生成隨機數字
- 8. 如何從特定字母列表中獲取隨機字母?
- 9. 生成一個排除特定字符的隨機數
- 10. 添加四個隨機生成的數字中的三個最高數字
- 11. 以特定間隔生成隨機數
- 12. C++:如何從一個數組中生成一個隨機數
- 13. 生成一組隨機數
- 14. 隨機產生特定數字
- 15. 如何從java中的數組中隨機生成一個唯一的數字
- 16. 用於生成隨機字母數字值的SOAP UI方法
- 17. 如何使用if ... else語句從隨機生成的數字數組中抽取特定數字?
- 18. 生成具有特定分佈的隨機數字c
- 19. 生成隨機數字在特定的二進制範圍
- 20. 從隨機生成的數組中打印出單個值
- 21. 隨機生成數字?
- 22. 在隨機字節的給定範圍內生成隨機數
- 23. PHP - 從數組中生成一個隨機的5位數字例外
- 24. 生成隨機的,固定長度的字節數組在Go
- 25. 帶義務字母的隨機數組
- 26. 生成隨機字符串,缺少一個字母
- 27. 爲mysql生成一個特定的隨機數
- 28. 生成隨機字母和數字一起
- 29. 如何比數組中的其他隨機數生成一個隨機數?
- 30. 從數組中生成隨機的Elments組
誠勿擾「有一些麻煩,」那意味着你有一些代碼,完全不是那麼回事 - 所以請表明代碼,並給出什麼不工作細節。 –
「隨機請求int而不是char」是什麼意思? –