如何在 Java 中生成随机字符

Java 中不存在随机字符生成,但有几种方法可以做到这一点。它是生成一个随机数使用 java.util.Random.nextInt(),然后根据其 ASCII 代码将整数转换为字符.

生成一个介于 a-z

第一个小写字母字符的 ASCII 代码为 65 (a) 最后一个是 97+26=122 (z)。生成的数字在 [97, 122] 范围内或 [0,26] + 97.

Random rand = new Random();
char c = (char)(rand.nextInt(26) + 97);
System.out.println(c);
我们可以将 ASCII 码 97 替换为 'a':
(char)(rand.nextInt(26) + 'a');

生成 string

获取 n 字符,前面的代码必须用 for.
Random rand = new Random();
字符串 str=”;
for(int i = 0 ; i < 20 ; i++){
char c = (char)(rand.nextInt(26) + 97);
str += c;
System.out.print(c+ ”);
}
f s e u k t m d a e b i m u y a y u s n 

从集合生成字母数字

在此示例中, 我们将从一组定义的字符中生成字母数字字符。让我们这样做:
  • 创建一个包含所需集合的字符串
  • 检索字符串长度
  • 调用 rand.nextInt返回位置 k 介于 0 和 length-1
  • alphabet.charAt(k) 是 alphabet
Random rand = new Random();
字符串 alphabet=abcd1235”;
int 长度 = alphabet.lentgh();
for(int i = 0; i < 30; i++) {
int k = rand.nextInt(length);
System.out.print(alphabet.charAt(k)+ ”);
}
b 1 3 1 d b b b 2 5 5 b a c 5 1 2 b 5 2 c b a 3 3 5 3 d b c 1