【发布时间】:2016-10-06 22:40:11
【问题描述】:
我正在使用 for 循环将字符串中的所有元音替换为 char。
public String replaceVowel(String text, char letter)
{
char ch;
for(int i = 0; i<text.length(); i++)
{
ch = text.charAt(i);
if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' || ch == 'y')
{
ch = letter;
}
text.charAt(i) = ch;
}
return text;
}
代码在线出错:
text.charAt(i) = ch;
在这一行中,我试图在字符串的循环位置初始化字符。但是该行会产生错误:
赋值的左边必须是变量
感谢任何帮助!
【问题讨论】:
-
读取错误。左边是受让人,右边是赋值。您不能在逻辑上将 char 值分配给 char 值。您需要将其分配给 char variable
-
Java 中的字符串是不可变的。您可能想要使用字符数组或
StringBuilder。 -
return text.replaceAll("[aeiouy]", String.valueOf(letter));