두 개의 문자열 str_1과 str_2가 주어졌습니다. 목표는 재귀 절차를 사용하여 문자열 str1에서 부분 문자열 str2의 발생 횟수를 계산하는 것입니다.
재귀 함수는 정의 내에서 자신을 호출하는 함수입니다.
str1이 "나는 당신이 알고 있다는 것을 알고 있습니다"이고 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가 나타나는지 검색해 보겠습니다. str2가 str1에 있으면 true를 반환합니다. true인 경우 Java의 InstallFirst() 메서드를 사용하여 str1을 ""로 바꾸고 반환 값에 1을 추가하여 개수를 늘려 str1에서 첫 번째 일치 항목을 제거합니다.
두 문자열을 str1과 str2로 가져옵니다.
재귀 메서드 subsrting_rec(String str, String sub)는 문자열 str과 해당 하위 문자열 sub를 받아들이고 sub가 str에 나타나는 횟수를 반환합니다.
str.contains(sub)가 true인지 확인하세요. ( str has sub )
true인 경우 str.replaceFirst(sub,"")를 사용하여 첫 번째 sub 항목을 ""로 바꿉니다.
subsrting_rec(String str, String sub)에 대한 재귀 호출에서 이 작업을 수행합니다.
모든 재귀가 끝나면 반환된 모든 값의 합이 count 입니다.
결과를 인쇄하세요.
Live Demo
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; } }
위 코드를 실행하면 다음 출력이 생성됩니다. -
Count of occurrences of a substring recursively are: 4
위 내용은 Java에서 부분 문자열의 발생 횟수를 재귀적으로 계산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!