我必須使用遞歸來實現布爾方法。沒有任何for循環是允許的。我寫的代碼給出了正確的答案。但是,這是不正確的。有什麼好的建議嗎?謝謝!字符串計數的Java布爾遞歸方法
public class RecusiveMethod {
public static void main (String[] args) {
System.out.println("True: " + isWordCountsRight("ccowcow", "cow", 2));
System.out.println("True: " + isWordCountsRight("kayakayakaakayak", "kayak", 3));
}
public static boolean isWordCountsRight(String str, String word, int n) {
if (n == 0) return true;
if (str.substring(0, word.length()).equals(word)) {
return isWordCountsRight(str.substring(1), word, n - 1);
}
return isWordCountsRight(str.substring(1), word, n);
}
}
什麼是預期的結果? –
在第二種情況下你期望2或3嗎?匹配重疊還是不匹配? – blafasel
請注意,你永遠不會返回'false' - 猜這就是你的問題 – MartinS