首頁 > Java > java教程 > 在Java中遞歸地計算子字串出現的次數

在Java中遞歸地計算子字串出現的次數

王林
發布: 2023-09-17 19:49:02
轉載
1205 人瀏覽過

在Java中遞歸地計算子字串出現的次數

給定兩個字串 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
登入後複製
登入後複製

Explanation

的中文翻譯為:

解釋

The substring TP occurs 4 times in str1.
登入後複製

輸入

str1 = "HiHOwAReyouHiHi" str2 = "Hi"
登入後複製

輸出

Count of occurrences of a substring recursively are: 3
登入後複製

Explanation

的中文翻譯為:

解釋

The substring Hi occurs 3 times in str1.
登入後複製

#在下面程式中使用的方法如下 -

在這種方法中,我們將使用java 中的contains() 方法搜尋str2 在str1 中的出現。如果str2存在於str1中,則傳回true。如果為 true,請使用 java 中的 ReplaceFirst() 方法將其替換為“”,然後將返回值加 1 以增加計數,從而從 str1 中刪除第一個匹配項。

  • 取兩個字串當str1和str2。

  • 遞歸方法subsrting_rec(String str, String sub) 接受字串str 及其子字串sub 並傳回sub 在str 中出現的次數.

  • #檢查str.contains(sub)是否為true。 ( str 有 sub )

  • 如果為 true,則使用 str.replaceFirst(sub,””) 將第一次出現的 sub 替換為“”。

  • 在 subsrting_rec(String str, String sub) 的遞歸呼叫中執行此動作。

  • 在所有遞歸結束時,所有傳回值的總和為 count .

  • 列印結果。

範例

 即時示範

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中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板