📜  两个字符串之间的 java 随机数 - Java (1)

📅  最后修改于: 2023-12-03 15:06:14.305000             🧑  作者: Mango

两个字符串之间的 Java 随机数

在 Java 中,我们可以使用 Math.random() 函数来生成一个介于 0.0 和 1.0 之间的随机数。但是,如果我们想要生成两个字符串之间的随机数,该如何实现呢?

以下是一个简单的方法来实现这个功能:

public static String generateRandomString(String str1, String str2) {

    // 获取两个字符串的长度
    int len1 = str1.length();
    int len2 = str2.length();

    // 生成一个介于 0 和(len1 + len2 - 1) 之间的随机数
    int randomInt = (int) (Math.random() * (len1 + len2));

    // 如果随机数小于 len1,则返回 str1 中对应位置的字符,否则返回 str2 中对应位置的字符
    if (randomInt < len1) {
        return str1.substring(randomInt, randomInt + 1);
    } else {
        return str2.substring(randomInt - len1, randomInt - len1 + 1);
    }
}

我们首先获取两个字符串的长度,然后生成一个介于 0 和(len1 + len2 - 1) 之间的随机数。最后,我们判断随机数是在哪个字符串的范围内,并从相应的字符串中返回一个随机字符。

接下来,我们可以调用 generateRandomString() 方法来生成两个字符串之间的随机数:

String str1 = "Java";
String str2 = "Python";
String randomString = generateRandomString(str1, str2);
System.out.println(randomString);

当我们运行上述代码时,它将在 "Java" 和 "Python" 之间生成一个随机字符并将其打印在控制台上。

注意:这个方法只能生成一个字符,如果你想生成一个长度不固定的随机字符串,可以参考以下代码:

public static String generateRandomString(String str1, String str2, int length) {

    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < length; i++) {
        sb.append(generateRandomString(str1, str2));
    }

    return sb.toString();
}

这个方法中,我们传入了一个额外的 length 参数来指定随机字符串的长度。它利用了前面的 generateRandomString() 方法来循环生成字符,并将它们附加到一个 StringBuilder 对象中,最后将其转换为一个 String 对象并返回。