随机字符生成器Java

时间:2012-11-05 05:17:06

标签: java javascript arrays object ascii

我需要创建一个keyMaker函数,该函数随机生成一个长度恰好为23个字符的字符串。它们需要是小写字母,并分成五个簇,每组五个之间用连字符。 (例如fdior-fhwkd-ruwka-qozsm)。

我需要使用将字符编号转换为字符的字符串函数(a = 97,z = 122 ...)

2 个答案:

答案 0 :(得分:1)

private static Random rnd = new Random();

public static String makeRandomString() {
    char nextChar;
    StringBuilder sb = new StringBuilder();

    for(int i = 0; i < 20; i++) {
        // lowercase characters go from 97 to 122
        nextChar = (char) (rnd.nextInt(26) + 97);
        sb.append(nextChar);
        if ((i + 1) % 5 == 0 && i != 19) sb.append('-');
    }

    return sb.toString();
 }

答案 1 :(得分:1)

以下是Javascript中的解决方案:

function generateKeyString() {
    var key = "", random;
    var letters = "abcdefghijklmnopqrstuvwxyz";
    for (var i = 0; i < 20; i++) {
        if (i !== 0 && i % 5 === 0) {
            key += "-";
        }
        random = Math.floor(Math.random() * letters.length);
        key += letters.charAt(random);
    }
    return(key);
}

工作演示:http://jsfiddle.net/jfriend00/9mFb5/