我真的想做一个类,可以产生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”是什么意思? –