java中关于String类中的subString()方法截取子串的疑问~
Strings="sunjavajavajavajava";StringsToFind="java";intcount=0;intindex=0;while(s.inde...
String s = "sunjavajavajavajava";
String sToFind = "java";
int count = 0;
int index = 0;
while(s.indexof(sToFind) != -1){
index = s.indexof(sToFind);
//查询了API文档对于indexof()是这样解释的:
//如果在此 String 对象表示的字符序列中出现值为 ch 的字符,则返回第一次出现该字符的索引
//那么这里返回值是4吗??
s = s.substring(index + sTofind.length());
//API中描述substring()是:该子字符串从指定索引处的字符开始,直到此字符串末尾。
//那么这里的意思是从4+4个位置开始截取的意思?从第八个字符开始截取到最后
//结果是javajavajava吗?
count++;
}
System.out.println(count); 展开
String sToFind = "java";
int count = 0;
int index = 0;
while(s.indexof(sToFind) != -1){
index = s.indexof(sToFind);
//查询了API文档对于indexof()是这样解释的:
//如果在此 String 对象表示的字符序列中出现值为 ch 的字符,则返回第一次出现该字符的索引
//那么这里返回值是4吗??
s = s.substring(index + sTofind.length());
//API中描述substring()是:该子字符串从指定索引处的字符开始,直到此字符串末尾。
//那么这里的意思是从4+4个位置开始截取的意思?从第八个字符开始截取到最后
//结果是javajavajava吗?
count++;
}
System.out.println(count); 展开
1个回答
展开全部
如果不清楚的话,完全可以把你想要的结果打印出来,就像
String s = "sunjavajavajavajava";
String sToFind = "java";
int count = 0;
int index = 0;
while(s.indexOf(sToFind) != -1){
index = s.indexOf(sToFind);
System.out.println(index);//打印index
s = s.substring(index + sToFind.length());
System.out.println(s);//打印s
count++;
}
System.out.println(count);
这样就可以看到你想问的了。不过结果并不是你想的那样,因为计数多数都是从0开始的,所以index是3
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询