> Java > java지도 시간 > 본문

Java에서 부분 문자열의 발생 횟수를 재귀적으로 계산합니다.

王林
풀어 주다: 2023-09-17 19:49:02
앞으로
1146명이 탐색했습니다.

Java에서 부분 문자열의 발생 횟수를 재귀적으로 계산합니다.

두 개의 문자열 str_1과 str_2가 주어졌습니다. 목표는 재귀 절차를 사용하여 문자열 str1에서 부분 문자열 str2의 발생 횟수를 계산하는 것입니다.

재귀 함수는 정의 내에서 자신을 호출하는 함수입니다.

str1이 "나는 당신이 알고 있다는 것을 알고 있습니다"이고 str2가 "know"라면

발생 횟수는 - 3

예를 통해 이해해 봅시다.

예를 들어

input

str1 = "TPisTPareTPamTP", str2 = "TP";
로그인 후 복사

output

Count of occurrences of a substring recursively are: 4
로그인 후 복사
로그인 후 복사

Explanation

의 중국어 번역은

Explanation

The substring TP occurs 4 times in str1.
로그인 후 복사

input

str1 = "HiHOwAReyouHiHi" str2 = "Hi"
로그인 후 복사

output

Count of occurrences of a substring recursively are: 3
로그인 후 복사

Explanation의 중국어 번역입니다.

는:

설명

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 입니다.

  • 결과를 인쇄하세요.

Example

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;
   }
}
로그인 후 복사

Output

위 코드를 실행하면 다음 출력이 생성됩니다. -

Count of occurrences of a substring recursively are: 4
로그인 후 복사
로그인 후 복사

위 내용은 Java에서 부분 문자열의 발생 횟수를 재귀적으로 계산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿