2 つの文字列 str_1 と str_2 を指定します。目的は、再帰プロシージャを使用して、文字列 str1 内の部分文字列 str2 の出現数をカウントすることです。
再帰関数は、その定義内で自分自身を呼び出す関数です。
str1 が「I know that you know that i know」の場合、str2 は「know」です。
出現回数は - 3
次のように使用します。例は理解しています。
たとえば、
str1 = "TPisTPareTPamTP", str2 = "TP";
Count of occurrences of a substring recursively are: 4
The substring TP occurs 4 times in str1.
str1 = "HiHOwAReyouHiHi" str2 = "Hi"
Count of occurrences of a substring recursively are: 3
The substring Hi occurs 3 times in str1.
# #次のプログラムでは 使用するメソッドは次のとおりです -
このメソッドでは、java の contains() メソッドを使用して、str1 内の str2 の出現を検索します。 str1 に str2 が存在する場合は true を返します。 true の場合、java の ReplaceFirst() メソッドを使用して「」に置き換え、戻り値に 1 を加算してカウントを増やすことにより、str1 から最初の一致を削除します。
public class recursive{ public static void main(String args[]){ String str1 = "TPisTPareTPamTP", str2 = "TP"; System.out.println("Count of occurrences of a substring recursively are: "+subsrting_rec(str1, str2)); } static int subsrting_rec(String str, String sub){ if (str.contains(sub)){ return 1 + subsrting_rec(str.replaceFirst(sub, ""), sub); } return 0; } }
出力
以上がJava で部分文字列の出現数を再帰的にカウントするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。