如果給定字符串,遞歸地計算(不循環)的小寫的「hi」的次數出現在字符串中給定一個字符串,遞歸地(沒有循環)計算
countHi(「xxhixx」) - > 1
countHi( 「xhixhixx」) - > 2
countHi( 「HI」) - > 1
public class Tester {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int count = countHi("xxhixx");
System.out.println("countHi: " + count);
}
public static int countHi(String s) {
if (s.length() == 0) {
return 0;
}
int spot = s.indexOf("hi");
if(spot > 0)
{
String nextString = s.substring(spot + 2);
return 1 + countHi(nextString);
}
return 1;
}
}
而且你的問題是什麼? –
'indexOf'使用循環。 –
問題是什麼?我假設soem輸入會返回一個太大的數字?您不會考慮大於0的字符串,但根本不包含「hi」。你的方法將返回1它shoudl返回0,您可以刪除德支票長度== 0,而是區分(現貨> = 0) - >遞歸調用+ 1和(現貨< 0) ->返回0 –