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);
展开
 我来答
来自浮山舞尽霓裳的铁树
2014-03-09 · TA获得超过212个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:120万
展开全部

如果不清楚的话,完全可以把你想要的结果打印出来,就像

		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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式