zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java生成随机数

JAVA 生成 随机数
2023-09-11 14:14:25 时间

在java.util.Random中提供了产生随机数的API:

int nextInt(int bound)

返回从随机数生成器序列中提取的,均匀分布在0(包含)和bound(不包含)之间的一个int类型的伪随机数。简单说,就是返回[0,bound)区间中的一个int值。

0 <= x < bound

返回指定范围的随机数

如果想在范围 [MIN, MAX]之间产生随机数,即:MIN <= x <= MAX,只需要这样:

nextInt(MAX - MIN + 1) + MIN

示例:

生成一个6位的随机数作为验证码:

String result = "";
Random random = new Random();
for (int i = 0; i < 6; i++) {
    result += random.nextInt(10);
}

生成一个大于等于100小于等于999的随机数:

Random random = new Random();
Integer result = random.nextInt(999-100+1)+100;

生成一个小写字母组成的字符串:

String val = "";
Random random = new Random();
for (int i = 0; i < 8; i++) {
    val += (char) (97 + random.nextInt(26));
}

生成一个由大小写字母和数字组成的字符串:

String val = "";
Random random = new Random();
for (int i = 0; i < 8; i++) {
    // 输出字母还是数字
    String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
    // 字符串
    if ("char".equalsIgnoreCase(charOrNum)) {
        // 取得大写字母还是小写字母
        int choice = random.nextInt(2) % 2 == 0 ? 65 : 97;
        val += (char) (choice + random.nextInt(26));
    } else if ("num".equalsIgnoreCase(charOrNum)) { // 数字
        val += String.valueOf(random.nextInt(10));
    }
}