java indexOf()方法
publicclassTest{publicstaticvoidmain(String[]args){Stringname="aaloveddlovecclove";in...
public class Test
{
public static void main(String[] args)
{
String name="aaloveddlovecclove";
int n=name.indexOf("love",3);
System.out.println(n);
}
};
请教一下,上面为什么输出结果是8,帮忙解释下原因 展开
{
public static void main(String[] args)
{
String name="aaloveddlovecclove";
int n=name.indexOf("love",3);
System.out.println(n);
}
};
请教一下,上面为什么输出结果是8,帮忙解释下原因 展开
8个回答
展开全部
意思是从name的第3个位置开始,第一次出现"love"的位置
(相当于" oveddlovecclove"中第一次出现"love"的位置)
(相当于" oveddlovecclove"中第一次出现"love"的位置)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单的说,love当成一个字符了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1)索引可以理解为位数,只是在这里它不是从1开始计数,而是从零开始。
2)String
str1
=
"abcabasiouabvcaisoabcaaabc";
每个字符的索引
0123456789...
3)index
=
str1.indexOf(str2);//找到str2在str1中第一次出现的位置,可以看到对应的索引为0.
while(-1!=
index)//只要str1还包含str2就继续搜索,直至结束
{
i++;//每搜索到一次,次数加1
index
=
str1.indexOf(str2,index+str2.length());//从index+str2.length()
位置开始继续搜索
//可以看到index是上一次搜索到的位置,str2.length()是str2的长度
//即
第2次是
从(第1次的索引+3)位置开始搜索,第3次是
从(第2次的索引+3)位置开始搜索
//直到找到索引终止的地方
//其实这里搜索的位置不应该用index+str2.length()),而应该使用index+1
//不然如果类似str1="aaaab",而str2="aa"这样
str2有连续相同的字符,就很可能遗漏
//当然这里str2="abc",各个字符直接各部相同就无所谓了
}
2)String
str1
=
"abcabasiouabvcaisoabcaaabc";
每个字符的索引
0123456789...
3)index
=
str1.indexOf(str2);//找到str2在str1中第一次出现的位置,可以看到对应的索引为0.
while(-1!=
index)//只要str1还包含str2就继续搜索,直至结束
{
i++;//每搜索到一次,次数加1
index
=
str1.indexOf(str2,index+str2.length());//从index+str2.length()
位置开始继续搜索
//可以看到index是上一次搜索到的位置,str2.length()是str2的长度
//即
第2次是
从(第1次的索引+3)位置开始搜索,第3次是
从(第2次的索引+3)位置开始搜索
//直到找到索引终止的地方
//其实这里搜索的位置不应该用index+str2.length()),而应该使用index+1
//不然如果类似str1="aaaab",而str2="aa"这样
str2有连续相同的字符,就很可能遗漏
//当然这里str2="abc",各个字符直接各部相同就无所谓了
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询