【发布时间】:2016-02-27 09:38:53
【问题描述】:
我必须使用递归来实现布尔方法。不允许任何 for 循环。我写的代码结果是给定的正确答案。但是,它还不正确。有什么好的建议吗?谢谢!
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?是否匹配重叠?
-
请注意,您永远不会返回
false- 猜猜这是您的问题