安卓在java中加入字符串组以创建复合字符串
我正在尝试创建一个激活,用于激活我的安卓应用程序,看起来像这个xxx xxx xxx xxx xxx现在我已经编写了一个随机字母数字键生成器方法,如下所示
// function to generate a random string of length n
public static String generateRandom(int n)
{
// chose a Character random from this String
String AlphaNumericString = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "0123456789" + "abcdefghijklmnopqrstuvxyz";
// create StringBuffer size of AlphaNumericString
StringBuilder sb = new StringBuilder(n);
for (int i = 0; i < n; i++) {
// generate a random number between
// 0 to AlphaNumericString variable length
int index = (int)(AlphaNumericString.length() * Math.random());
// add Character one by one in end of sb
sb.append(AlphaNumericString .charAt(index));
}
return sb.toString();
}
这部分应该生成一组独特的字母数字键,其长度在参数中提供。在本例中,我将使用4
我还有另一个方法,它四次调用generateradom()以获取四组密钥,然后将它们连接在一起,并用连字符分隔,如下所示
public static String generateKey(int length){
StringBuilder key = new StringBuilder();
for(int i = 0; i<length; i++){
if(key.toString().length()==0){
key.append(generateRandom(4));
}else if(key.toString().length() % 4==0){
key.append("-");
}else{
key.append(generateRandom(4));
}
}
return key.toString();
}
现在,当我运行这个程序时,我希望输出看起来像XXXXXXXXXXXXXXXXXXXX,但我得到的看起来像xxxx-XXXXXXXXXXXXXX,我可能做错了什么,或者如何实现我的目标
# 1 楼答案
对于每个零件,添加“-”,不勾选(如果…),最后一个在循环之后做
# 2 楼答案
# 3 楼答案
您可以通过调用键来实现这一点。附加(generateradom(4))在循环中,并在不是最后一个计数的每个计数上添加连字符。这样做可以避免在生成的字符串末尾追加