目錄
str1 = "TPisTPareTPamTP", str2 = "TP";
登入後複製
" >
str1 = "TPisTPareTPamTP", str2 = "TP";
登入後複製
Count of occurrences of a substring recursively are: 4
登入後複製
登入後複製
" >
Count of occurrences of a substring recursively are: 4
登入後複製
登入後複製
的中文翻譯為:
The substring TP occurs 4 times in str1.
登入後複製
" >
The substring TP occurs 4 times in str1.
登入後複製
str1 = "HiHOwAReyouHiHi" str2 = "Hi"
登入後複製
" >
str1 = "HiHOwAReyouHiHi" str2 = "Hi"
登入後複製
Count of occurrences of a substring recursively are: 3
登入後複製
" >
Count of occurrences of a substring recursively are: 3
登入後複製
The substring Hi occurs 3 times in str1.
登入後複製
" >
The substring Hi occurs 3 times in str1.
登入後複製
首頁 Java java教程 在Java中遞歸地計算子字串出現的次數

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

Sep 17, 2023 pm 07:49 PM
遞迴 計算 子字串

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

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

C++ 函式的遞歸實作:遞迴深度有限制嗎? C++ 函式的遞歸實作:遞迴深度有限制嗎? Apr 23, 2024 am 09:30 AM

C++函數的遞歸深度受到限制,超過此限制會導致堆疊溢位錯誤。限制值因係統和編譯器而異,通常在1000到10000之間。解決方法包括:1.尾遞歸最佳化;2.尾呼叫;3.迭代實作。

CUDA之通用矩陣乘法:從入門到熟練! CUDA之通用矩陣乘法:從入門到熟練! Mar 25, 2024 pm 12:30 PM

通用矩陣乘法(GeneralMatrixMultiplication,GEMM)是許多應用程式和演算法中至關重要的一部分,也是評估電腦硬體效能的重要指標之一。透過深入研究和優化GEMM的實現,可以幫助我們更好地理解高效能運算以及軟硬體系統之間的關係。在電腦科學中,對GEMM進行有效的最佳化可以提高運算速度並節省資源,這對於提高電腦系統的整體效能至關重要。深入了解GEMM的工作原理和最佳化方法,有助於我們更好地利用現代計算硬體的潛力,並為各種複雜計算任務提供更有效率的解決方案。透過對GEMM性能的優

word文檔怎麼計算加減乘除 word文檔怎麼計算加減乘除 Mar 19, 2024 pm 08:13 PM

WORD是一個強大的文字處理器,我們可以利用word進行各種文字的編輯,在Excel表格當中,我們已經熟練了加減乘數的運算方法,那麼如果需要在Word表格裡,計算數值的加減乘數,該如何操作呢,難道只能用計算機計算嗎?答案當然是否定的,WORD也同樣可以完成。今天小編就來教大家如何在Word文件的表格當中,運用公式計算加減乘除等基本運算,一起來學習一下吧。那麼,今天就讓小編具體示範一下,WORD文件怎麼計算加減乘除?第一步:開啟一個WORD,點選工具列【插入】下的【表格】,在下拉式選單當中插入一

C++ lambda 表達式是否支援遞迴? C++ lambda 表達式是否支援遞迴? Apr 17, 2024 pm 09:06 PM

是的,C++Lambda表達式可以透過使用std::function支援遞歸:使用std::function捕捉Lambda表達式的參考。透過捕獲的引用,Lambda表達式可以遞歸呼叫自身。

如何使用Python的count()函數計算清單中某個元素的數量 如何使用Python的count()函數計算清單中某個元素的數量 Nov 18, 2023 pm 02:53 PM

如何使用Python的count()函數計算清單中某個元素的數量,需要具體程式碼範例Python作為一種強大且易學的程式語言,提供了許多內建函數來處理不同的資料結構。其中之一就是count()函數,它可以用來計算清單中某個元素的數量。在本文中,我們將詳細介紹如何使用count()函數,並提供具體的程式碼範例。 count()函數是Python的內建函數,用來計算某

如何使用C#中的Math.Pow函數計算指定數的冪次方 如何使用C#中的Math.Pow函數計算指定數的冪次方 Nov 18, 2023 am 11:32 AM

在C#中,有一個Math類別庫,其中包含許多數學函數。其中包括計算冪次方的函數Math.Pow,它可以幫助我們計算指定數的冪。 Math.Pow函數的用法非常簡單,只需要指定底數和指數就可以了。其語法如下:Math.Pow(base,exponent);其中base表示底數,exponent表示指數。此函數傳回double類型的結果,即冪次方的計算結果。下面讓

C++ 函式的遞迴實作:遞迴與非遞迴演算法的比較分析? C++ 函式的遞迴實作:遞迴與非遞迴演算法的比較分析? Apr 22, 2024 pm 03:18 PM

遞歸演算法透過函數自呼叫解決結構化的問題,優點是簡潔易懂,缺點是效率較低且可能發生堆疊溢位;非遞歸演算法透過明確管理堆疊資料結構避免遞歸,優點是效率更高且避免堆疊溢出,缺點是程式碼可能更複雜。選擇遞歸或非遞歸取決於問題和實現的特定限制。

C++ 函式遞歸詳解:遞迴在字串處理中的應用 C++ 函式遞歸詳解:遞迴在字串處理中的應用 Apr 30, 2024 am 10:30 AM

遞歸函數是一種在字串處理中反覆呼叫自身來解決問題的技術。它需要一個終止條件以防止無限遞歸。遞歸在字串反轉和回文檢查等操作中被廣泛使用。

See all articles