【发布时间】:2021-02-15 15:24:28
【问题描述】:
给定一个字符串,我必须用它们在数组中的相应位置替换所有元音。但是,我的代码返回一些奇怪的符号而不是数字。问题出在哪里?
String s = "this is my string";
char p = 1;
char[] formatted = s.toCharArray();
for(int i = 0; i < formatted.length; i++) {
if(formatted[i] == 'a' ||formatted[i] == 'e' ||formatted[i] == 'i'
||formatted[i] == 'o' ||formatted[i] == 'u') {
formatted[i] = p;
}
p++;
}
s = String.valueOf(formatted);
System.out.println(s);
P.S:数字大于 10
【问题讨论】:
-
字符
'1'与数字1具有不同的值。只要您插入的数字少于 10 个,您就可以使用char p = '1';。 -
索引 14 元音应该怎么办? / 注意整数和char ascii值。 / 您可以将字母循环到 StringBuffer 并将循环索引
""+(i+1)值的字母或字符串附加为字符串。 -
i在string中的位置是14但14不是字符;这是一个数字字符串。