字符串中所有出现的字符的索引

以下代码将打印2


String word = "bannanas";

String guess = "n";

int index;

System.out.println( 

    index = word.indexOf(guess)

);

我想知道如何在字符串“ bannanas”中获取“ n”(“ guess”)的所有索引


预期结果将是: [2,3,5]


开心每一天1111
浏览 386回答 3
3回答

噜噜哒

这应该打印位置的名单没有-1在这个月底彼得Lawrey的解决方案 已经过。int index = word.indexOf(guess);while (index >= 0) {    System.out.println(index);    index = word.indexOf(guess, index + 1);}也可以for循环执行:for (int index = word.indexOf(guess);     index >= 0;     index = word.indexOf(guess, index + 1)){    System.out.println(index);}[注意:如果guess可以长于单个字符,那么通过分析guess字符串,可以word比上述循环更快地循环。这种方法的基准是Boyer-Moore算法。但是,似乎不存在使用这种方法的条件。]

偶然的你

请尝试以下操作(现在末尾不会打印-1!)int index = word.indexOf(guess);while(index >= 0) {   System.out.println(index);   index = word.indexOf(guess, index+1);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java