我需要创建一个keyMaker
函数来随机生成一个正好为 23 个字符长的字符串。它们必须是小写字母,并分组为五个一组,每组五个之间有一个连字符。(例如 fdior-fhwkd-ruwka-qozsm)。
我需要使用将字符编号转换为字符的字符串函数(a=97,z=122...)
我需要创建一个keyMaker
函数来随机生成一个正好为 23 个字符长的字符串。它们必须是小写字母,并分组为五个一组,每组五个之间有一个连字符。(例如 fdior-fhwkd-ruwka-qozsm)。
我需要使用将字符编号转换为字符的字符串函数(a=97,z=122...)
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();
}
这是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/