A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

查询大字符串中,出现指定小字符串的次数。
如“hellojava,nihaojava,javazhenbang”中查询出现“java”的次数。

我的代码:

//计算在字符串S中出现子串S1的次数;
public static void getSomeNum( String s, String s1){
            int count =0;
            while(s.length ()>=s1 .length ()){
                 int i = s. indexOf( s1);
                 s = s. substring( i+ 1);
                 count++;
           }
            System. out.println (s1 +"出现了" +count +"次" );
}

//以为就这么简单的结束了么??多试两个就发现Bug了......你犯同样错误了没!

ps:问题已经解决了~下面是改进的代码:

public static void getSomeNum( String s, String s1){
            int count = 0;
            int index = -1;
            while((index = s .indexOf (s1 ))!=-1 ){
                 count++;
                 s= s. substring( index+ 1);
           }
            //或者用:while((index = s .indexOf (s1 ,index +1 ))!=-1 ){count++}
            System. out.println (s1 +"出现了" +count +"次" );
}

1 个回复

正序浏览
可以的。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马