开发者社区> 问答> 正文

java字符串中求字串的个数

已解决



    package z_1;

    public class Z_4 {
    /*
    * 计算某个字符串在另一个字符串中出现的次数
    */

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String s="kkaaskkadidkkddspqlkk";
        getCount(s,"kk");
        sop(getCount(s,"kk"));
    }
    private static int getCount(String s, String string) {
        // TODO Auto-generated method stub
        int count=0;
        int index=0;
        while((index=s.indexOf(string))!=-1)
        {
            sop("s="+s);
            s=s.substring(index+string.length());
            count++;

        }
        return count;
    }
    private static void sop(String str) {
        // TODO Auto-generated method stub
        System.out.println(str);
    }

    }

展开
收起
WM云建站 2016-02-17 22:09:08 3418 0
2 条回答
写回答
取消 提交回答
  • 阿里云论坛版主,QQ 1978638808
    采纳回答

    LZ写的是对的,问题出在你的代码的sop(getCount(s,"kk"));这一句,getCount(String s, String string)返回的是一个int型的数据,这个时候由于sop(String str)使用的是String 类型的参数,这种情况下是不能进行自动装箱并调用toString()方法的,说白了,就是不能从int 自动装箱为Integer类型的对象,并自动调用其toString()方法返回包含其值得String对象的。
    你可以试一下把sop(getCount(s,"kk"));改成sop(getCount(s,"kk")+"");就对了。由于加了""这个空字符串,因此会自动将int与后面的String,合并转化为新的String进行传递打印。

    2019-07-17 18:29:15
    赞同 展开评论 打赏
  • 使用 String.length()
    2019-07-17 18:29:15
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载