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);
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
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进行传递打印。