对于我的程序,我试图用星号替换单词中的所有元音。我已经编写了代码但在我试图替换这封信的行中继续收到错误。我收到的错误是"找不到符号"谁可以向我解释为什么我收到这个错误?
for(int index =0; index<=length;index++){
Character vowel = firstName.charAt(index);
if ((vowel == 'A') || (vowel == 'a') || (vowel == 'E') || (vowel == 'e') || (vowel == 'I') || (vowel == 'i')
|| (vowel == 'O') || (vowel == 'o') || (vowel == 'U') || (vowel == 'u')){
vowel = vowel.replace( vowel, '*'); // error received here
}
}
答案 0 :(得分:1)
为什么不这样做:
firstName = firstName.replace(firstName.charAt(index), '*');
或
firstName = firstName.replace(vowel, '*');
答案 1 :(得分:0)
元音是典型字符,没有.replace
方法。不完全确定你想要获得什么,但你可能想要在名字中替换char:
firstname.replace( vowel, '*');
答案 2 :(得分:0)
我更喜欢将单个正则表达式用于循环逻辑,并且可以使用?i
来忽略大小写。基本上,匹配任何元音并替换为星号。像,
String firstName = "David";
System.out.println(firstName.replaceAll("(?i)[aeiou]", "*"));
输出
D*v*d