JAVA随机字符串:随机产生一个该长度的字符串,由大写,小写字母以及数字组成
话不多说,直接上代码
public String code(int n){
String code="";
Random r=new Random();
for (int i = 0; i < n ; i++) {
int a = r.nextInt(3);
switch (a) {
case 0:
char ac = (char) (r.nextInt(26) + 65);
code += ac;
break;
case 1:
char kl = (char) (r.nextInt(26) + 97);
code += kl;
break;
case 2:
int mk = r.nextInt(10);
code += mk;
break;
}
}
return code;
}
-
初始化变量:
String code = "";
:创建一个空字符串code
,用于存储最终生成的随机代码。Random r = new Random();
:创建一个Random
对象r
,用于生成随机数。
-
循环生成随机字符:
- 使用一个
for
循环,循环13次(i < 13
)。 - 在每次循环中,使用
Random
对象r
生成一个0到2之间的随机数(包括0但不包括3)。
- 使用一个
-
根据随机数生成字符:
- 使用
switch
语句根据生成的随机数a
来决定生成哪种类型的字符。case 0
:生成一个大写字母。- 使用
r.nextInt(26)
生成一个0到25之间的随机数。 - 加上ASCII码中A的数值(65),得到一个范围在65到90之间的数,这对应于大写字母A到Z。
- 将这个数强制转换为
char
类型,然后将其添加到code
字符串中。
- 使用
case 1
:生成一个小写字母。- 使用
r.nextInt(26)
生成一个0到25之间的随机数。 - 加上ASCII码中a的数值(97),得到一个范围在97到122之间的数,这对应于小写字母a到z。
- 将这个数强制转换为
char
类型,然后将其添加到code
字符串中。
- 使用
case 2
:生成一个数字。- 使用
r.nextInt(10)
生成一个0到9之间的随机数。 - 直接将这个整数转换为字符串(Java中,当使用
+
运算符将字符串和整数相加时,整数会自动转换为字符串),然后将其添加到code
字符串中。
- 使用
- 使用
-
返回生成的字符串:
- 循环结束后,
code
字符串包含了13个随机生成的字符(大写字母、小写字母或数字)。 - 方法返回这个字符串。
- 循环结束后,
ASSCII值 | 控制字符 | ASSCII值 | 控制字符 | ASSCII值 | 控制字符 | ASSCII值 | 控制字符 |
---|---|---|---|---|---|---|---|
0 | NUT | 32 | (space) | 64 | @ | 96 | 、 |
1 | SOH | 33 | ! | 65 | A | 97 | a |
2 | STX | 34 | ” | 66 | B | 98 | b |
3 | ETX | 35 | # | 67 | C | 99 | c |
4 | EOT | 36 | $ | 68 | D | 100 | d |
5 | ENQ | 37 | % | 69 | E | 101 | e |
6 | ACK | 38 | & | 70 | F | 102 | f |
7 | BEL | 39 | , | 71 | G | 103 | g |
8 | BS | 40 | ( | 72 | H | 104 | h |
9 | HT | 41 | ) | 73 | I | 105 | i |
10 | LF | 42 | * | 74 | J | 106 | j |
11 | VF | 43 | + | 75 | K | 107 | k |
12 | FF | 44 | , | 76 | L | 108 | l |
13 | CR | 45 | - | 77 | M | 109 | m |
14 | SO | 46 | . | 78 | N | 110 | n |
15 | SI | 47 | / | 79 | O | 111 | o |
16 | DLE | 48 | 0 | 80 | P | 112 | p |
17 | DCI | 49 | 1 | 81 | Q | 113 | q |
18 | DC2 | 50 | 2 | 82 | R | 114 | r |
19 | DC3 | 51 | 3 | 83 | S | 115 | s |
20 | DC4 | 52 | 4 | 84 | T | 116 | t |
21 | NAK | 53 | 5 | 85 | U | 117 | u |
22 | SYN | 54 | 6 | 86 | V | 118 | v |
23 | TB | 55 | 7 | 87 | W | 119 | w |
24 | CAN | 56 | 8 | 88 | X | 120 | x |
25 | EM | 57 | 9 | 89 | Y | 121 | y |
26 | SUB | 58 | : | 90 | Z | 122 | z |
27 | ESC | 59 | ; | 91 | [ | 123 | { |
28 | FS | 60 | < | 92 | \ | 124 | | |
29 | GS | 61 | = | 93 | ] | 125 | } |
30 | RS | 62 | > | 94 | ^ | 126 | ~ |
31 | US | 63 | ? | 95 | — | 127 | DEL |