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進行傳遞打印。