Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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_Java.util.scanner - Fatal编程技术网

Java 从另一个字符串生成随机字符串

Java 从另一个字符串生成随机字符串,java,java.util.scanner,Java,Java.util.scanner,我想使用扫描仪输入一个字符串abcde12345ABCDE,然后生成一个长度为4的随机字符串,要求如下: 第一位应该是一个字符 第二名应该是一个数字 第三位应该是一个数字 第四名也应该是性格 运行示例: Input abcde12345ABCDE \\Processing.... Output A25b 然后,我还希望得到提示以匹配生成的数字 Plz enter the generated no.!! A25b 下面是我用来生成随机字符串的代码 final String alphanum

我想使用扫描仪输入一个字符串abcde12345ABCDE,然后生成一个长度为4的随机字符串,要求如下:

第一位应该是一个字符 第二名应该是一个数字 第三位应该是一个数字 第四名也应该是性格 运行示例:

Input 
abcde12345ABCDE

\\Processing....
Output
A25b
然后,我还希望得到提示以匹配生成的数字

Plz enter the generated no.!!
A25b
下面是我用来生成随机字符串的代码

final String alphanumeric = "abcde12345ABCDE";
final int n = alphanumeric.length();
Random r = new Random();
for(int i = 0; i < 4; i++) { 
    System.out.println(alphanumeric.charAt(r.nextInt(n)));
}

请澄清你的问题-你给出的例子很令人困惑。此外,请分享您为解决此问题而尝试过的代码,并指出问题所在;final int n=字母数字。长随机r=新随机;forint i=0;iIt的输出为aBe1。。。。。但我希望它的输出应该是25D,第一位是字母,第二和第三位是数字,第四位是字母……然后确认生成的数字,如密码confirm@Chris-这些编辑是否足够清晰?
public static void main(String[] args) {
    final String alphanumeric = "abcde12345ABCDE";
    List<Character> digits = getPart(alphanumeric, true);
    List<Character> letters = getPart(alphanumeric, false);

    Random r = new Random();
    System.out.print(letters.get(r.nextInt(letters.size())));
    System.out.print(digits.get(r.nextInt(digits.size())));
    System.out.print(digits.get(r.nextInt(digits.size())));
    System.out.print(letters.get(r.nextInt(letters.size())));
}

public static List<Character> getPart(String src, boolean numbers) {
    List<Character> result = new ArrayList<>();
    for (int i = 0; i < src.length(); i++) {
        if (numbers == Character.isDigit(src.charAt(i))) {
            result.add(src.charAt(i));
        }
    }
    return result;
}