【发布时间】:2021-12-25 20:00:58
【问题描述】:
我必须从用户那里获得一个文本输入,然后我必须将每个元音 a,e,i,o,u 替换为 1,2,3,4,5 并显示每个元音的替换数量和然后还有更改的文本。 问题是最后的文本看起来很好替换,但替换的数量显示为 1。
(我尝试在下面计算“myText”中的 1、2、3、4 和 5,它运行良好,但如果用户输入数字,它也会计算在内,所以这是一个问题)
这是第一部分:
public static void replaceAndCount(String myText, int[] vowels) {
for (int i = 0; i < myText.length(); i++) {
switch (myText.charAt(i)) {
case 'a':
vowels[0]++;
myText = myText.replace('a', '1');
case 'e':
vowels[1]++;
myText = myText.replace('e', '2');
case 'i':
vowels[2]++;
myText = myText.replace('i', '3');
case 'o':
vowels[3]++;
myText = myText.replace('o', '4');
case 'u':
vowels[4]++;
myText = myText.replace('u', '5');
}
}
}
【问题讨论】:
-
我在 for 之后和 switch 之前使用
char[] myTextChar = myText.toCharArray()修复了它,然后在机箱内部使用myTextChar[i] = '1';并在我使用myText = String.valueOf(myTextChar);的开关之后使用了myText = String.valueOf(myTextChar);
标签: java replace switch-statement iteration increment