再帰メソッドを呼び出すコードは次のとおりです。
if (isSubstring(str1, str2))
System.out.println ("\"" + str1 + "\" is a substring of " +
"\"" + str2 + "\"");
else
System.out.println ("\"" + str1 + "\" is not a substring of " +
"\"" + str2 + "\"");
これは私がこれまでに完了した方法であり、ほとんど機能しています:
public static boolean isSubstring(String str, String target)
{
if (target.length() == 0)
return false;
if (str.equals(target))
return true;
else
return (isSubstring(str, target.substring(0,target.length()-1)));
}
したがって、str1 が「zzz」として渡され、str2 が「zzzabcdef」として渡された場合に機能し、true を返します。ただし、str2 が「abczzzzxx」または「abczzzz」の場合は true を返しません。誰か提案やアイデアはありますか?