黑马程序员技术交流社区
标题:
怎么理解呀这个
[打印本页]
作者:
qmlovewhr
时间:
2013-7-3 20:50
标题:
怎么理解呀这个
本帖最后由 杜光 于 2013-7-5 07:32 编辑
while((index=str.indexOf(key))!=-1)
{
sop("str="+str);
str=str.substring(index+key.length());
count++;
}
这几条语句是什么意思呀,没太看明白。
作者:
abcd8855522
时间:
2013-7-3 20:59
代码不完整,贴完整才好理解啊,从着几条可以看出的就是搜索字符串,然后分割.
作者:
oxf974025918
时间:
2013-7-3 20:59
while((index=str.indexOf(key))!=-1)//while循环括号内是进入循环的条件
{
sop("str="+str);//应该在外面有个public static String sop(Object obj){System.out.println(obj)}这样的方法方便打印
str=str.substring(index+key.length());//这是获取字符串,从index+key.length()值开始到最后一个字符。
count++;//这是记数器,每循环一轮,count要加1,count++相当于count=count+1
}
作者:
denghui1010
时间:
2013-7-3 21:04
while((index=str.indexOf(key))!=-1)//获取关键字key在字符串中的索引位置,如果找到值就!=-1,循环体执行,找不到就是-1,循环体不执行
{
sop("str="+str);//sop应该是System.out.println
str=str.substring(index+key.length());
//把从索引位置加上key长度地方开始(比如索引在3位置,加上key长度2,就是从5位置开始到结尾),到字符串结束,中间的字符串给str
count++;
}
复制代码
作者:
王洪波
时间:
2013-7-3 21:09
本帖最后由 王洪波 于 2013-7-3 21:12 编辑
你先看下substring方法的原型声明(尤其要理解beginIndex的含义:
/**
* Parameters:
beginIndex - the beginning index, inclusive.
endIndex - the ending index, exclusive.
* Returns:
the specified substring.
复制代码
这个beginIndex形参每次都向前移动,以获取后边的子串
我把这个语句拆成下边这样,希望有助于你的理解
index = str.indexOf(key);
while(index!=-1)
{
sop("str="+str);
str=str.substring(index+key.length());
index = str.indexOf(key);//取子串中key的首位置
count++;
}
复制代码
作者:
xuluheng718
时间:
2013-7-3 21:14
首先,你这段代码就不完整,变量和方法的声明都没有,我只能靠猜测:
while((index=str.indexOf(key))!=-1)//这里应该是循环读一个字符串直到在str这个字符串中找到key
{
sop("str="+str);//这里应该是一个被包装成sop()的打印语句
str=str.substring(index+key.length());//这里应该是在str这个字符串中筛选出key
count++;//这里应该是用作计数
}
复制代码
作者:
杨兴庭
时间:
2013-7-4 07:40
为了更好的维护论坛的学习氛围,如果您的的问题“已经解决”请即时将帖子状态改成“已解决”
-------------------坚持学习,黑马因你而精彩---------------
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2