黑马程序员技术交流社区

标题: 你们知道怎么在大串中统计小串的次数吗 [打印本页]

作者: 等待就是借口    时间: 2015-12-26 13:08
标题: 你们知道怎么在大串中统计小串的次数吗
public class 大串小串做法一 {
        public static void main(String[] args) {

        String max = "woaiheima,heimabutongyubaima,buguanshiheimahaishi1baima,zhaodaogongzuojiushihaoma";
        String min = "heima";
       
        int count =        0;        //定义计数器变量
        int index =        0;        //定义索引
       
        while((index =max.indexOf(min))!=-1){
               
                count++ ; //计数器自增
                max =max.substring(index+min.length());
        }
        System.out.println(count);
}
}
public class 大串小串做法二 {
        public static void main(String[] args) {
                String maxStr = "woaiheima,heimabutongyubaima,buguanshiheimahaishi1baima,zhaodaogongzuojiushihaoma";
                String minStr = "heima";
               
                //int count = (大串的长度-新串的长度)/小串的长度
                int count = (maxStr.length()-maxStr.replace(minStr, "").length())/minStr.length();
                System.out.println(count);
        }
}
作者: Hi.。    时间: 2015-12-26 17:24
第二个思路很好!以前没想到。
作者: 黑夜中那颗星    时间: 2015-12-26 18:50
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;

  3. public class Test {
  4.         public static void main(String[] args) {
  5.                 Pattern p = Pattern.compile("heima");
  6.                 Matcher m = p.matcher("woaiheima,heimabutongyubaima,buguanshiheimahaishi1baima,zhaodaogongzuojiushihaoma");
  7.                 int count = 0;
  8.                 while(m.find()){
  9.                         count++;
  10.                 }
  11.                 System.out.println(count);
  12.         }
  13. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2