Hello Stack Overflow用户, 我试图用不同的字符替换用户输入中的元音。下面的第一种方法通过用指定的特殊字符替换每个元音来增强作为String参数传入的密码。我唯一的问题是在主要打印时,我需要输入密码才能更换元音。例如,如果"你好"输入,然后" h3ll0"应该打印。第二种方法的return语句与此有关,但我不确定。如果有任何人可以提供任何建议,那将非常感激。
public static String enhancePassword(String oldPassword)
{
String vowel []= {"a","e","i","o","u"};
String newVowel []= {"@","3","!","0","^"};
String newPassword="";
String newValue="";
for(int i=0;i<=oldPassword.length();i++) {
for(int j=0; j<=vowel.length-1;j++) {
newValue=replaceCharacter(oldPassword, vowel[j],newVowel[j]);
}
}
return newPassword;
}
此方法接受给定的String并搜索给定的String 字符。
public static String replaceCharacter
(String password, String toBeReplaced, String replacementCharacter)
{
int move= password.length()-1;
int counter=0;
String string2="";
for(string2 = password.substring(move, password.length()-counter); move>=0; move--) {
if(string2.equals(toBeReplaced)) {
string2=replacementCharacter;
}
else {
string2=password.substring(move+1, password.length()-counter);
}
counter++;
}
return string2;
}
答案 0 :(得分:0)
您的解决方案看起来过于复杂。我建议使用这样的东西
public static String enhancePassword(String oldPassword) {
String vowel[] = { "a", "e", "i", "o", "u" };
String newVowel[] = { "@", "3", "!", "0", "^" };
for (int i = 0; i < vowel.length; i++) {
oldPassword = oldPassword.replaceAll(vowel[i], newVowel[i]);
}
return oldPassword;
}
希望它有所帮助!