Diberi dua rentetan str_1 dan str_2. Matlamatnya adalah untuk mengira bilangan kejadian subrentetan str2 dalam rentetan str1 menggunakan prosedur rekursif.
Fungsi rekursif ialah fungsi yang memanggil dirinya dalam definisinya.
Jika str1 ialah "Saya tahu anda tahu bahawa saya tahu" dan str2 ialah "tahu"
Bilangan kejadian ialah - 3
Mari kita fahami melalui contoh.
Sebagai contoh, terjemahan bahasa Cina bagi
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
Dalam kaedah ini, kita akan mencari kejadian str2 dalam str1 menggunakan kaedah contains() dalam java. Mengembalikan benar jika str2 wujud dalam str1. Jika benar, alih keluar padanan pertama daripada str1 dengan menggantikannya dengan "" menggunakan kaedah ReplaceFirst() dalam java dan menambah 1 pada nilai pulangan untuk meningkatkan kiraan.
Ambil dua tali sebagai str1 dan str2.The substring Hi occurs 3 times in 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; } }
Atas ialah kandungan terperinci Kira bilangan kejadian subrentetan secara rekursif dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!