任務描述:
編寫一個程序,記錄一個子串在整串中出現的次數,例如記錄子串“nba”在整串“nbaernbatnbaynbauinbaopnba”中出現的次數,通過觀察可知子串“nba”出現的次數為6.要求使用string類的常用方法來計算出現的次數。
任務目標:
學會分析“記錄一個子串在整串中出現的次數”任務的實現思路
根據思路獨立完成“記錄一個子串在整串中出現的次數”任務的源代碼編寫、編譯及運行。
掌握string類中常用方法的使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public class demo01 { public static void main(string[] args) { string s= "nbaernbatynbauinbaopnba" ; string key= "nba" ; int count=count(s,key); system.out.println(count); } public static int count(string s, string key) { int count= 0 ; int d= 0 ; while ((d=s.indexof(key,d))!=- 1 ){ s=s.substring(d+key.length()); count++; } return count; } } |
實現思路:
(1)分析任務描述可知,做此任務需要先定義兩個字符串,一個表示子串,一個表示整串。
(2)要查找子串在整串中出現的次數,可以先使用string類的contain()方法,判斷整串中是否包含子串,如果不包含,那么不用計算,子串在整串中出現的次數一定為0。
(3)如果整串中包含了子串,那么再具體計算出現的次數。使用string類的indexof()方法可以獲取子串在整串中第一次出現的索引。獲取到之后,再在整串中該索引加上子串長度的位置處繼續查找子串(可以通過string類的substring()方法將整串的剩余部分截取出來,然后在剩余整串中從頭查找子串)。依次類推,通過循環完成查找,直到找不到子串為止,此時indexof()方法的返回值為-1.
(4)定義一個計數器,記錄出現的次數,在循環中每查到一次子串,則計數器加1.
以上這篇java 記錄一個子串在整串中出現的次數實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/Best_xing/article/details/70244858