在大串中查找小串出现的次数,老师讲到的方法如下:
- private static void method1() {
- String max = "woaiheima, buguanheimabaima, nengzhaodaogongzuojiushihaoma";
- String min = "heima";
- int count = 0; // 统计小串在大串中的次数,保存到变量count
- int index = 0 ; // 查找到的位置
- while((index=max.indexOf(min)) != -1){ // (index=max.indexOf(min) 如果不是-1
- count++; // 统计一次
- max = max.substring(index+min.length()); // 截取余下的字符串,继续查找
- }
- System.out.println(count);
- }
复制代码 我自己想到的方法:
- private static void method2() {
- String max = "woaiheima, buguanheimabaima, nengzhaodaogongzuojiushihaoma";
- String min = "heima";
- int count = 0;
- int index = -5; // index+min.length()作为下一次查找的起始位置。
- while ((index = max.indexOf(min, index+min.length())) != -1){
- count++;
- }
- System.out.println(count);
- }
复制代码
老师的方法是截取余下的字符串,继续查找。而我的方法是从余下的字符位置继续查找。
|
|