2013-03-20 35 views
0

有沒有辦法檢查字符串中有多少重複字符並指出它的索引位置?我正在使用indexOf()方法。但它只會返回第一個結果。剩下的另一封信將不會被退回。我也想知道它是否有可能知道其所有重複字母的索引位置。如何指出字符串中所有重複字符的索引位置

這裏是我目前使用的代碼片段。

String word = "RASPBERRY"; 
char letter = 'R'; 
int indx = 0; 

indx = word.indexOf(letter); 
+1

'indexOf'可以採取第二參數,以開始從搜索索引。所以要在'indx'後面找到一個字符的* next *索引,你可以使用'word.indexOf(letter,indx)'。 – Vulcan 2013-03-20 01:51:30

+0

@Vulcan,我很欣賞你指導答案的方式。 upvote for you。 – techuser 2013-03-20 01:55:34

+0

感謝您的答案先生沃爾坎不幸的是我有關於代碼的問題。有可能給我一些例子。就像我發佈的代碼一樣。如果您不介意謝謝 – 2013-03-20 01:58:17

回答

2

是的,唯一的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); 
} 
+0

您應該在將代碼放入答案之前測試代碼。此代碼無限循環。 – Vulcan 2013-03-20 02:07:33

+0

剛剛更新,謝謝 – 2013-03-20 02:10:51

1
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); 
} 
相關問題