问题描述
|
String key = \"test\";
我有一把钥匙它是4个字符长。我想做的是有一个函数,它查看键的长度,然后在末尾添加随机字符以使其长度为20?
因此,如果ket只是\'te \',它将在末尾添加18个随机字符。如果键是\'test \',它将在末尾添加16个随机字符。
??
解决方法
因此,这不是要让其他人编写您的代码...而是要给您一个起点,请看一下这个问题,然后进行修改以适合您。
, 如下考虑解决方案。在这里,您将混合使用小写和大写字母。
例:
for (int i = 0; i < 5; i++) {
System.out.println(getRandomString(\"test\"));
}
将返回:
testRBMuWIiibcyAAaGc
testOjvmVMoQPYGJKKU
testBnCPLyqbTUFzQrOs
testgaFkzFtnsYHNkDJR
testsisbGHzItczsJYNK
public static String getRandomString(String s) {
int i = 0;
int randomNumber;
boolean isUpperCase;
StringBuilder response = new StringBuilder();
Random randomNumberGenerator = new Random();
while (i++ < MAX_LENGTH - s.length()) {
isUpperCase = randomNumberGenerator.nextBoolean();
randomNumber = randomNumberGenerator.nextInt(26) + 65;
response.append(isUpperCase ? (char) randomNumber :
Character.toLowerCase((char) randomNumber));
}
return response.insert(0,s).toString();
}
, 一个简单的解决方案是:
Random random = new Random();
String randomString = \"test\";
for(;randomString.length() < 20 ;) {
char randomChar = (char) random.nextInt(123);
randomString += (Character.isLetterOrDigit(randomChar)) ? randomChar : \"\";
}
, if(password.length() != 20){
while (password.length() != 20){
password += (char)String.valueOf(myRandom.nextInt()).charAt(0);
}
}