uniquewdl 2016-02-02 03:41 采纳率: 50%
浏览 1577
已采纳

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);
}

}

  • 写回答

4条回答 默认 最新

  • Zhipeng_Hou 2016-02-02 05:43
    关注

    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进行传递打印。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊