java-indexof·问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 06:48:03
..main...

int count = 0;
String s = "sunjavahpjavaaokjavajavahahajavajavagoodjava"
String sToFind = "java"
int index = s.indexOf(sToFind)
System.out.println(index) //第一次出现的位置是4
if(index != -1) {
count++;
}
问题:indexof只能查找第一次出现的位置,循环是什么意思,
indexof还能继续查找第二次出现的位置吗
indexof 也没说能找到第二个位置啊,功能就是找到第一个位置为止啊
这个循环是重复找第一个位置的意思呀

利用循环和indexof()方法继续查找第二次出现的位置

public class Test
{
public static void main(String[] args)
{
int count = 0;
int index = 0;
for(;;)
{
String s = "sunjavahpjavaaokjavajavahahajavajavagoodjava";
String sToFind = "java";
index = s.indexOf(sToFind,count);
if(index == -1) break;
System.out.println(index); // 第一次出现的位置是4
count = (index += 4);
}
}
}

如果sToFind不作为一个子字符串出现,则返回 -1。
if(index!=-1)的意思就是如果索引不等于-1,那么也就证明sToFind这个子字符出出现了.
在这段程序中的count没有意义.

循环就是找到了第一个位置i后,就从第i+1个位置继续往后找,以此类推直到找不到为止,找不到就是=-1;不信你试试