常見物件-在大串中查詢小串出現的次數案例
思路:
package cn.itcast_07;
/*
* 統計大串中小串出現的次數
* 舉例:
* 在字串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"
* 結果:
* java出現了5次
*
* 分析:
* 前提:是已經知道了大串和小串。
*
* A:定義一個統計變數,初始化值是0
* B:先在大串中查詢一次小串第一次出現的位置
* a:索引是-1,說明不存在了,就返回統計變數
* b:索引不是-1,說明存在,統計變數++
* C:把剛才的索引+小串的長度作為開始位置擷取上一次的大串,返回一個新的字串,並把該字串的值重新賦值給大串
* D:回到B
*/
public class StringTest4 {
public static void main(String[] args) {
// 定義大串
String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun";
// 定義小串
String minString = "java";
// 寫功能實現
int count = getCount(maxString, minString);
System.out.println("Java在大串中出現了:" + count + "次");
}
/*
* 兩個明確: 返回值型別:int 引數列表:兩個字串
*/
public static int getCount(String maxString, String minString) {
// 定義一個統計變數,初始化值是0
int count = 0;
// 先在大串中查詢一次小串第一次出現的位置
int index = maxString.indexOf(minString);
// 索引不是-1,說明存在,統計變數++
while (index != -1) {
count++;
// 把剛才的索引+小串的長度作為開始位置擷取上一次的大串,返回一個新的字串,並把該字串的值重新賦值給大串
int startIndex = index + minString.length();
maxString = maxString.substring(startIndex);
// 繼續查
index = maxString.indexOf(minString);
}
return count;
}
}
程式碼優化:
package cn.itcast_07;
/*
* 統計大串中小串出現的次數
* 舉例:
* 在字串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"
* 結果:
* java出現了5次
*
* 分析:
* 前提:是已經知道了大串和小串。
*
* A:定義一個統計變數,初始化值是0
* B:先在大串中查詢一次小串第一次出現的位置
* a:索引是-1,說明不存在了,就返回統計變數
* b:索引不是-1,說明存在,統計變數++
* C:把剛才的索引+小串的長度作為開始位置擷取上一次的大串,返回一個新的字串,並把該字串的值重新賦值給大串
* D:回到B
*/
public class StringTest5 {
public static void main(String[] args) {
// 定義大串
String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun";
// 定義小串
String minString = "java";
// 寫功能實現
int count = getCount(maxString, minString);
System.out.println("Java在大串中出現了:" + count + "次");
}
/*
* 兩個明確: 返回值型別:int 引數列表:兩個字串
*/
public static int getCount(String maxString, String minString) {
// 定義一個統計變數,初始化值是0
int count = 0;
/*
// 先在大串中查詢一次小串第一次出現的位置
int index = maxString.indexOf(minString);
// 索引不是-1,說明存在,統計變數++
while (index != -1) {
count++;
// 把剛才的索引+小串的長度作為開始位置擷取上一次的大串,返回一個新的字串,並把該字串的值重新賦值給大串
// int startIndex = index + minString.length();
// maxString = maxString.substring(startIndex);
maxString = maxString.substring(index + minString.length());
// 繼續查
index = maxString.indexOf(minString);
}
*/
int index;
//先查,賦值,判斷
while((index=maxString.indexOf(minString))!=-1){
count++;
maxString = maxString.substring(index + minString.length());
}
return count;
}
}
相關文章
- 常見物件-統計字串中大寫小寫以及數字出現的次數案例物件字串
- ASP.NET從字串中查詢字元出現次數的方法ASP.NET字串字元
- 常見的查詢操作
- 常見物件-字串反轉的案例物件字串
- 常見通用的Join查詢
- JavaScript實現常見查詢演算法JavaScript演算法
- 常見物件-字串反轉功能案例物件字串
- 常見物件-統計大寫,小寫及數字字元的個數案例物件字元
- sql資料庫查詢某列中每種資訊出現次數並降序排列SQL資料庫
- 常見物件-把int陣列拼接字串的案例物件陣列字串
- 在 Linux 中查詢 CPU 的核數Linux
- Hive -------- hive常見查詢練習Hive
- SQL查詢優化常見方法SQL優化
- hfm系統常見表查詢
- OQL(物件查詢語言)在產品實現中造成的RCE(Object Injection)物件Object
- 一些常見功能的查詢sqlSQL
- mysql基礎 查詢某屬性值出現次數大於1MySql
- 集合框架-統計字串中每個字元出現的次數案例圖解框架字串字元圖解
- 查詢字串中連續出現的字元字串字元
- mysql常見的查詢語句的應用MySql
- 在RFT中查詢視窗中指定名稱的物件物件
- 集合框架-統計字串中每個字元出現的次數案例程式碼實現框架字串字元
- 字串查詢之字元次數字串字元
- 物件點查詢和中括號查詢的區別物件
- 常見物件-模擬使用者登入案例物件
- 一次分割槽查詢異常的分析
- yii2 資料庫常見查詢資料庫
- 二分查詢常見套路與分析
- js查詢HTMLCollection物件中的下標JSHTML物件
- 常見物件-判斷一個字串是否對稱案例物件字串
- 常見物件-把陣列拼接成指定格式的字串案例物件陣列字串
- HyperGraphDB查詢中的變數變數
- 常見物件-Character物件
- Laravel Query Builder 複雜查詢案例:子查詢實現分割槽查詢 partition byLaravelUI
- 統計陣列中各數字(元素)出現的次數陣列
- 計算陣列中每個數字出現的次數陣列
- cpu故障現象分析 CPU常見故障案例
- 如何獲取字串中相同字元出現的次數字串字元