public static void main(String[] args) {
/*
* 需求3:子串在整串中出现的次数。"nbadfnbaghjnbaklnba"
*
* 思路:
* 1,需要计数。
* 2,找到一个nba就计数。
* 3,咋找?那就是字符串中查找字符串,字符串中怎么找应该字符串自己很清楚。
* 所以找String类。
* 4,如果有这个方法,每找一次需要计数,需要找n次。循环完成。
*
* 步骤;
* 1,定义变量,计数。
* 2,需要循环,循环条件是,找到了就继续循环,没有找到就停。
* int indexOf(String)
* 3,循环内对计数器自增。
*/
String str ="qqnbadfnbaghjnbaknbalnba";
String key = "nba";
int count = getKeyCount(str,key);
System.out.println("count="+count);
}
public static int getKeyCount(String str, String key) {
//1,定义变量计数。
int count = 0;
//2,定义变量,记录每次找到的角标。
int index = 0;
//2,循环。条件是indexOf查找的方法返回的结果不是-1.而且要明确下次查找的位置。indexOf(String,fromIndex);
while((index = str.indexOf(key,index))!=-1){
count++;
//每找完一次,都要确定下次要找的起始位置。上次位置+key的长度。
index += key.length();
}
return count;
}
|