0%

Random

Random类

1
2
3
4
5
6
7
8
Random r = new Random();
int res = r.nextInt();
System.out.println(res);
System.out.println(r.nextDouble());
System.out.println(r.nextBoolean());
// 相同的种子,生成的随机数是一样
Random r2 = new Random(110);
System.out.println(r2.nextInt());

生成34到179之间的随机数

1
2
3
4
5
6
//生成34到179之间的随机数
//34 + [0 145)
//nextInt(145) 随机生成0 到145之间的随机数
int i = new Random().nextInt(145);
System.out.println(i);
System.out.println("--------------");

生成5位随机数

1
2
3
4
5
6
7
//生成验证码
//5位的随机数 UUID生成的是16进制
String res = UUID.randomUUID().toString();
System.out.println(res);
res = res.substring(0,5);
System.out.println(res);
System.out.println("--------------------");

UUID

1
2
3
4
5
//UUID:通用唯一识别符
//在一台机器 上生成 的数字
//当前的时间,跟当前电脑网卡 生成一段字符
String uuid = UUID.randomUUID().toString();
System.out.println(uuid);

生成验证码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
str = str + str.toLowerCase();
str += "0123456789";
System.out.println(str);
System.out.println(str.length());
//从所有的字符当中随机生成5个出来
//随机取5个出来
//每取出一个结果,在原来的基础 上面进行拼接
StringBuilder sb = new StringBuilder(5);
for(int i = 0; i < 5; i++) {
//角标要随机的值 (0 62:字符串的长度)
int index = new Random().nextInt(str.length());
char ch = str.charAt(index);
sb.append(ch);
}
System.out.println(sb.toString());
↓赏一个鸡腿... 要不,半个也行↓