以下のコードの再帰メソッド match(String x, String y) は、2 つの文字列が一致するかどうかを判断します。マッチング プロセスでは、「ワイルド カード」を許可する必要があります。「@」文字は他の単一文字と一致し、「*」文字は任意のタイプの 0 個以上の文字と一致します。
これまでのところ、これは私が得たものです:
public static boolean match(String x, String y) {
int len = x.length() < y.length() ? x.length() : y.length();
if (len == 0 && x.length() > 0)
return false;
else if (len == 0 && y.length() > 0)
return true;
for (int i = 0; i < len;)
{
int v1 = x.charAt(i);
int v2 = y.charAt(i);
if (v1 == v2)
return match(x.substring(1, x.length()),
y.substring(1, y.length()));
else
return false;
}
return false;
}
どんな助けや指示も高く評価されます..より具体的には、再帰を使用してワイルドカードを実装するにはどうすればよいですか。