java-记录一个子串在整串中出现的次数

任务描述:
编写一个程序,记录一个子串在整串中出现的次数,例如记录子串“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.

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值