| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1622 人关注过本帖
标题:自己写了一个计算字符串中子串出现的次数的程序,不知道大家有没有更好的算 ...
只看楼主 加入收藏
xudongcsharp
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:129
专家分:156
注 册:2009-5-31
结帖率:53.33%
收藏
已结贴  问题点数:20 回复次数:3 
自己写了一个计算字符串中子串出现的次数的程序,不知道大家有没有更好的算法拿来分享下!
自己写了一个计算字符串中子串出现的次数的程序,不知道大家有没有更好的算法拿来分享下!
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
dadongzicool
Rank: 6Rank: 6
等 级:贵宾
威 望:11
帖 子:209
专家分:474
注 册:2009-3-20
收藏
得分:10 
请输入字符串:
010101010
请输入您要统计的子字符串:
010
正在统计子字符串出现的次数...
出现的次数为:2

本人出售软件专业毕业设计(包括论文,代码)题目众多,价格从优联系方式:QQ
1635008514(寻找高校代理)
2010-05-12 22:34
xudongcsharp
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:129
专家分:156
注 册:2009-5-31
收藏
得分:0 
哇 ,还真有bug来!
多谢版主,我再改改!
2010-05-13 17:59
linjx0123
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:279
专家分:1362
注 册:2006-4-7
收藏
得分:10 
程序代码:
import java.util.Scanner;
public class ArraysSubstring {
    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("正在统计子字符串出现的次数...");

        ArraysSubstring s=new ArraysSubstring();
        int times=s.fun(sur,dest);
        System.out.println("出现的次数为:"+times);
    }
   
    public int fun(String sur,String dest)
    {
        int sum = 0;
        int index=sur.indexOf(dest);
        while(index!=-1){
            sum+=1;
            index = sur.indexOf(dest, index+1);
        }     
        return sum;
    }    

}
2010-05-17 12:56
快速回复:自己写了一个计算字符串中子串出现的次数的程序,不知道大家有没有更好 ...
数据加载中...
 
   



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

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