-1

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

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

4

2 回答 2

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();
 }
于 2012-11-05T05:23:54.827 回答
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/

于 2012-11-05T05:29:58.787 回答