从品牌网站建设到网络营销策划,从策略到执行的一站式服务
你程序中zfc.indexOf(m)用的不合适。
创新互联公司专业为企业提供商州网站建设、商州做网站、商州网站设计、商州网站制作等企业网站建设、网页设计与制作、商州企业网站模板建站服务,10余年商州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
你的目的是找出所有出现的可能,而indexOf(String)的效果是从头查找,所以这个循环很有可能会无限进行下去。
你应该是找到一次出现后,就从这次出现的下一个位置继续找,这样才能找到所有出现,并且不会重复。
indexOf是个多态的函数,有一个形态就可以做到这样:从指定位置开始查找,而不是开头。
indexOf(int, String)
你的那个for循环应该修改成这样:
int i;
for(i=zfc.indexOf(m);i!=-1;i=zfc.indexOf(i+1,m)){
System.out.println(i);
}
注意,这里假定的是"222"可看做"22"+"2"也可看做"2"+"22"。
如果希望在"222"中只查到一个"22",则for循环为:
for(i=zfc.indexOf(m);i!=-1;i=zfc.indexOf(i+m.length(),m)){
Scanner input = new Scanner(System.in);
System.out.print("请输入一段字符:");
String s = input.next();
System.out.println("请输入要查询的字符串:");
String a = input.next();
int index = s.indexOf(a);
List ls = new ArrayList();
while (index = 0)
{
ls.add(index);
index = s.indexOf(a, index + 1);
}
for(Object i : ls)
{
System.out.print(i + " ");
}
for循环遍历即可、然后"XXX".equals(charAt(i)),用什么indexOf()和substring把简单的问题弄的那么复杂干嘛!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图