我正在尝试将字符串中的元音替换为连续重置为9的数字。这样做的正确方法是什么?这是我对这个人的唯一想法:
word.charAt(i)=vowelcount;
vowelcount++;
以上是for循环。 word是一个字符串,而vowelcount是一个以值48开头并重置为57的字符。
但这给了我错误:
必需:变量
发现:价值
使用连续计数的int替换String中元音的正确方法是什么?
样品输入:快速的棕色狐狸跳过懒狗。
样品输出:Th0 q12ck br3wn f4x j5mps 6v7r th8 l9zy d0g。
答案 0 :(得分:4)
你可以使用stringbuilder。
StringBuilder myString = new StringBuilder("The quick brown fox jumps over the lazy dog.");
并使用
myString.setCharAt();
答案 1 :(得分:0)
String
是不可变的。
这意味着一旦实例化它们的值就无法更改。
替换String
上的字符的正确方法是创建另一个String
,由之前的任何内容组成,您要替换的字符以及随后的内容。
我将代码实现留给读者,因为看起来你正在学习Java,这对你来说是一个很好的练习。
在您的具体情况下,您希望迭代String
并构建另一个,因此值得查看StringBuilder
类。
作为附加上下文,Java中的word.charAt(i)
是一个表达式,表达式不可分配。这与做
3 = 4;
您只能分配给变量(任何类型)或数组位置。 例如,如果您的字符串是char [],那么您可以完成
word[i] = vowelcount;
这实际上为您提供了另一种实现您想要的方式。将您的String
转换为char[]
,然后在完成后转回String
。请参阅方法String.toCharArray()和构造函数String(char[])。