黑马程序员技术交流社区

标题: 在大字符串中查找小字符串出现的次数 [打印本页]

作者: 黑色皮肤的马    时间: 2016-1-25 23:16
标题: 在大字符串中查找小字符串出现的次数
  1. <div class="blockcode"><blockquote>Stirng max = "woaiheimajavaandroidios,javahelloworldjavaios";//定义长字符串
  2. String min = "java";//定义小字符串
  3. int count = 0;//定义统计变量<p style="line-height: 30px; text-indent: 2em;"></p><p style="line-height: 30px; text-indent: 2em;"></p><div align="left">
  4. </div>int index = max.indexOf(min);//定义索引,这里有疑问,老师讲的是直接给index赋值为0,为什么我这样赋值就不行了?
  5. while(index != -1) {<p style="line-height: 30px; text-indent: 2em;"></p><div align="right"><ol><li>
  6. </li></ol></div>count++;
  7. max = max.substring(index+min.length());//这行总是报错StringIndexOutOfBoundsException请大家帮忙分析一下
  8. }
  9. System.out.println(min+"共出现"+count+"次");
复制代码




作者: 黑夜中那颗星    时间: 2016-1-26 10:06
这是我做这道题的方法

  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;

  3. public class Test52 {
  4.         /*
  5.          * 需求:统计大串中小串出现的次数 这里的大串和小串可以自己根据情况给出
  6.          */
  7.         public static void main(String[] args) {
  8.         String s1 = "hahaheihahaxihahaxi";
  9.         String s2 = "haha";
  10.         int count = 0;                       
  11.         Pattern p = Pattern.compile(s2);
  12.         Matcher m = p.matcher(s1);
  13.         while(m.find()){
  14.                 count++;
  15.         }   
  16.         System.out.println(s2+"出现次数:"+count);
  17.     }
  18. }
复制代码

作者: 黑色皮肤的马    时间: 2016-1-26 22:47
黑夜中那颗星 发表于 2016-1-26 10:06
这是我做这道题的方法

没太看懂唉
作者: 划江北上    时间: 2016-1-26 23:27
一开始定义是索引啊,有问题。
作者: diaokb    时间: 2016-2-18 18:13
毕老师的视频 和例程上面都有 讲解的很明白  楼主为什么不去看
作者: 黑白涩    时间: 2016-2-19 07:57
黑夜中那颗星 发表于 2016-1-26 10:06
这是我做这道题的方法

p m对象的类是你写的?




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