Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从数组中随机生成的三个特定字母_Java_Arrays - Fatal编程技术网

Java 从数组中随机生成的三个特定字母

Java 从数组中随机生成的三个特定字母,java,arrays,Java,Arrays,我真的很想创建一个类,它可以生成3个随机字母和12次数组。我在随机请求int而不是char时遇到了一些问题。谢谢你的帮助!:) 首先,您需要定义一个包含所有有效字符的字母表String alphabet=“AaBb…”。然后,您的代码可以如下所示: public char generateRandomLetterFromAlphabet(String alphabet) { Random random = new Random(); return alphabet.charAt(

我真的很想创建一个类,它可以生成3个随机字母和12次数组。我在随机请求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;

}
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'