Java 从另一个字符串生成随机字符串
我想使用扫描仪输入一个字符串abcde12345ABCDE,然后生成一个长度为4的随机字符串,要求如下: 第一位应该是一个字符 第二名应该是一个数字 第三位应该是一个数字 第四名也应该是性格 运行示例: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
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;
}