标题:自己写了一个计算字符串中子串出现的次数的程序,不知道大家有没有更好的算 ...
取消只看楼主
xudongcsharp
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:129
专家分:156
注 册:2009-5-31
结帖率:53.33%
已结贴  问题点数:20 回复次数:1 
自己写了一个计算字符串中子串出现的次数的程序,不知道大家有没有更好的算法拿来分享下!
自己写了一个计算字符串中子串出现的次数的程序,不知道大家有没有更好的算法拿来分享下!
package com.niit.demo;

import java.util.Scanner;

public class Str
{
    private static int sum;
    public static void main(String[] args) {
        System.out.println("请输入字符串:");
        Scanner sn=new Scanner(System.in);
        String sur=sn.next();
        System.out.println("请输入您要统计的子字符串:");
        String dest=sn.next();
        System.out.println("正在统计子字符串出现的次数...");

        Str s=new Str();
        int times=s.fun(sur,dest);
        System.out.println("出现的次数为:"+times);
    }
   
    public int fun(String sur,String dest)
    {
        int index=sur.indexOf(dest);
        int last=sur.lastIndexOf(dest);
        if(index!=-1 && last!=-1 )
        {
            if(index==last)
            {
                sum=1;
            }
            else
            {
                String temp = sur.substring(index, sur.length());
                while (true) {
                    int x = temp.indexOf(dest);
                    if (x == -1) {
                        break;
                    } else {
                        sum++;
                        temp = temp.substring(x+dest.length(), temp.length());
                    }
                }
            }
        }
        return sum;
    }   
}

搜索更多相关主题的帖子: 中子 算法 字符 分享 
2010-05-12 18:52
xudongcsharp
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:129
专家分:156
注 册:2009-5-31
得分:0 
哇 ,还真有bug来!
多谢版主,我再改改!
2010-05-13 17:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306390-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.652720 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved