Java 从数组中随机生成的三个特定字母
我真的很想创建一个类,它可以生成3个随机字母和12次数组。我在随机请求int而不是char时遇到了一些问题。谢谢你的帮助!:) 首先,您需要定义一个包含所有有效字符的字母表Java 从数组中随机生成的三个特定字母,java,arrays,Java,Arrays,我真的很想创建一个类,它可以生成3个随机字母和12次数组。我在随机请求int而不是char时遇到了一些问题。谢谢你的帮助!:) 首先,您需要定义一个包含所有有效字符的字母表String alphabet=“AaBb…”。然后,您的代码可以如下所示: public char generateRandomLetterFromAlphabet(String alphabet) { Random random = new Random(); return alphabet.charAt(
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;
}
public char[]generaterandomletsfromalphabet(char[]字母表,
整数(字母){
如果(字母数<1){
抛出新的IllegalArgumentException(
“字母数必须严格为正数。”);
}
随机=新随机();
char[]randomLetters=新字符[numberOfLetters];
for(int i=0;i
首先,您需要定义一个包含所有有效字符的字母表字符串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;
}
public char[]generaterandomletsfromalphabet(char[]字母表,
整数(字母){
如果(字母数<1){
抛出新的IllegalArgumentException(
“字母数必须严格为正数。”);
}
随机=新随机();
char[]randomLetters=新字符[numberOfLetters];
for(int i=0;i
您可以使用ASCII码将随机整数转换为相应的字符。有关ascii的更多信息,请访问:
这个简单的方法基于65(大写a)和90(大写Z)之间的随机整数输出字符
现在您可以根据自己的目的调整此方法。您可以使用ASCII码将随机整数转换为相应的字符。有关ascii的更多信息,请访问: 这个简单的方法基于65(大写a)和90(大写Z)之间的随机整数输出字符
现在,您可以根据自己的目的调整此方法。如果您“遇到一些问题”,这表明您有一些不太有效的代码-因此请显示该代码,并详细说明哪些不起作用。“随机请求int而不是char”是什么意思?如果您“遇到一些问题”这表明你有一些代码不太管用——所以请展示这些代码,并详细说明哪些代码不管用。“随机请求int而不是char”是什么意思意思???我用
char
数组的一个通用示例更新了我的答案。有50442个字母分散在码点数字空间中,所以字母表是一个很好的主意。我用char
数组的一个通用示例更新了我的答案。有50442个字母分散在码点数字空间中,所以字母表是一个好主意好主意。char
是UTF-16代码单元,而不是ASCII代码单元。(UTF-16是Unicode字符集的编码。)65确实是代码点的一个UTF-16代码单元,但更容易理解为'A'
char
是UTF-16代码单元,而不是ASCII代码单元。(UTF-16是Unicode字符集的编码。)65确实是代码点的一个UTF-16代码单元,但更容易理解为'A'
。