zoukankan      html  css  js  c++  java
  • java-记录一个子串在整串中出现的次数

    转载 :https://blog.csdn.net/best_xing/article/details/70244858

     

    任务描述: 
    编写一个程序,记录一个子串在整串中出现的次数,例如记录子串“nba”在整串“nbaernbatnbaynbauinbaopnba”中出现的次数,通过观察可知子串“nba”出现的次数为6.要求使用String类的常用方法来计算出现的次数。 
    任务目标: 
    学会分析“记录一个子串在整串中出现的次数”任务的实现思路 
    根据思路独立完成“记录一个子串在整串中出现的次数”任务的源代码编写、编译及运行。 
    掌握String类中常用方法的使用。

    public class Demo01 {  
        public static void main(String[] args) {  
            String s= "nbaernbatynbauinbaopnba";  
            String key="nba";  
            int count=count(s,key);         
            System.out.println(count);  
        }  
    public static int count(String s, String key) {  
      int count=0;  
      int d=0;  
      while((d=s.indexOf(key,d))!=-1){  
          s=s.substring(d+key.length());  
          count++;  
      }      
        return count;  
    }  
    }

    实现思路: 
    (1)分析任务描述可知,做此任务需要先定义两个字符串,一个表示子串,一个表示整串。 
    (2)要查找子串在整串中出现的次数,可以先使用String类的contain()方法,判断整串中是否包含子串,如果不包含,那么不用计算,子串在整串中出现的次数一定为0。 
    (3)如果整串中包含了子串,那么再具体计算出现的次数。使用String类的indexOf()方法可以获取子串在整串中第一次出现的索引。获取到之后,再在整串中该索引加上子串长度的位置处继续查找子串(可以通过String类的subString()方法将整串的剩余部分截取出来,然后在剩余整串中从头查找子串)。依次类推,通过循环完成查找,直到找不到子串为止,此时indexOf()方法的返回值为-1. 
    (4)定义一个计数器,记录出现的次数,在循环中每查到一次子串,则计数器加1.

    indexOf(String str,int fromIndex)从指定的下标开始查找某个字符串。。。

    string.substring(from, to):从from位置截取到to-1的位置

  • 相关阅读:
    Ubuntu下一个openldapserver部署步骤
    秀球技:倒和其他无用
    POJ1201-Intervals(差动限制)
    Scrapy研究和探索(七)——如何防止被ban大集合策略
    word 一些有用的技巧
    Java设计模式偷跑系列(十二)组合模式建模和实现
    Sql使用视图(简单的视图)适合入门-level
    cocos2d 缓存池 对象的再利用
    txt 开关 csv 可通用 工具
    使用SharePoint创建和定义自己的网站页面
  • 原文地址:https://www.cnblogs.com/mybatis/p/9450475.html
Copyright © 2011-2022 走看看