有没有办法检查字符串中有多少重复字符并指出它的索引位置?我正在使用indexOf()方法。但它只会返回第一个结果。剩下的另一封信将不会被退回。我也想知道它是否有可能知道其所有重复字母的索引位置。如何指出字符串中所有重复字符的索引位置
这里是我目前使用的代码片段。
String word = "RASPBERRY";
char letter = 'R';
int indx = 0;
indx = word.indexOf(letter);
有没有办法检查字符串中有多少重复字符并指出它的索引位置?我正在使用indexOf()方法。但它只会返回第一个结果。剩下的另一封信将不会被退回。我也想知道它是否有可能知道其所有重复字母的索引位置。如何指出字符串中所有重复字符的索引位置
这里是我目前使用的代码片段。
String word = "RASPBERRY";
char letter = 'R';
int indx = 0;
indx = word.indexOf(letter);
是的,唯一的indexOf返回来自特定位置的起点的第一个匹配的位置,对于你的情况,也许,一个循环可以找到所有位置,这个字符出现在此字符串。
String word = "RASPBERRY";
char letter = 'R';
int start = word.indexOf(letter);
while(start != -1) {
System.out.println("Found R in: " + start);
start = word.indexOf(letter, ++start);
}
您应该在将代码放入答案之前测试代码。此代码无限循环。 – Vulcan 2013-03-20 02:07:33
刚刚更新,谢谢 – 2013-03-20 02:10:51
String word = "RASPBERRY";
char letter = 'R';
int indx = word.indexOf(letter);
while (indx != -1) {
System.out.println("Index at " + indx);
indx = word.indexOf(letter, indx + 1);
}
'indexOf'可以采取第二参数,以开始从搜索索引。所以要在'indx'后面找到一个字符的* next *索引,你可以使用'word.indexOf(letter,indx)'。 – Vulcan 2013-03-20 01:51:30
@Vulcan,我很欣赏你指导答案的方式。 upvote for you。 – techuser 2013-03-20 01:55:34
感谢您的答案先生沃尔坎不幸的是我有关于代码的问题。有可能给我一些例子。就像我发布的代码一样。如果您不介意谢谢 – 2013-03-20 01:58:17