首頁 > Java > java教程 > 為什麼我的子字串計數演算法不停止?

為什麼我的子字串計數演算法不停止?

Mary-Kate Olsen
發布: 2024-12-15 20:31:10
原創
365 人瀏覽過

Why Doesn't My Substring Counting Algorithm Halt?

為什麼給定的演算法沒有停止?

在提供的演算法中,嘗試找出子字串出現的次數在一個字串中。然而,該演算法被設計為一直持續到字串中子字串的最後一個索引變為-1。這個條件永遠不會滿足,因為最後一個索引總是透過添加子字串的長度來更新。因此,演算法將無限期地繼續搜尋子字串,永不終止。

使用 Apache Commons Lang 進行子字串計數

計算子字串出現次數的另一種方法是利用 Apache Commons Lang 中的 StringUtils.countMatches 方法。此方法接受一個字串和一個子字串作為參數,並傳回子字串在字串中出現的次數。使用此方法,可以透過以下程式碼解決原始問題:

String str = "helloslkhellodjladfjhello";
String findStr = "hello";

System.out.println(StringUtils.countMatches(str, findStr));
登入後複製

此程式碼輸出:

3
登入後複製

它正確地計算了子字串「hello」在字串「helloslkhellodjladfjhello 」。

以上是為什麼我的子字串計數演算法不停止?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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