我必须使用递归来实现布尔方法。没有任何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