计算字符串中子串出现的次数

/**

 * 计算字符串中子串出现的次数

 * Created with IntelliJ IDEA.

 * User: jackzhao

 * Date: 14-1-22

 * Time: 下午8:08

 * To change this template use File | Settings | File Templates.

 */

public class TestFindString {

 

    public static  void  main(String[] arg){

        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        System.out.print("请输入字符串:");

        try{

            String str1=br.readLine();

            System.out.println("======================");

            System.out.println("请输入需要查找的字串:");

            String str2=br.readLine();

            int number=findStringNumber(str1,str2);

            System.out.println("字串在此字符串中出现的次数为:"+number);

        }

        catch (Exception ex)

        {}

 

    }

 

    /**

     *

     * @param str1 字符串

     * @param str2 需要查找的字串

     * @return 返回字串的个数

     */

    private static int findStringNumber(String str1, String str2)

    {

        int count=0;

        char[] chars1=str1.toCharArray();

        char[] chars2=str2.toCharArray();

        for(int i=0,j=0;i<chars1.length;i++)

        {

            for(j=0;j<chars2.length;j++)

            {

                 if(chars1[i+j]!=chars2[j])

                     break;

            }

 

           if(j==chars2.length)

           {

               count++;

               i=i+j-1;

           }

        }

       return count;

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值