public class Bianchen { public static void main(String[] args) { // TODO Auto-generated method stub String str = "abtyababdabcabcdabcde"; String sonstr ="ab"; int count = 0; int fromindex=0; while(true) { if((fromindex = str.indexOf(sonstr, fromindex))!=-1) { fromindex+=sonstr.length(); System.out.println(fromindex); count++; }else { break; } } System.out.println("子串:"+sonstr+"共出现了"+count+"次"); } }详细分析以上函数
时间: 2024-03-21 18:39:16 浏览: 78
以上代码是一个 Java 程序,其中定义了一个 Bianchen 类,包含了一个 main 方法。程序的主要功能是在一个字符串 str 中查找子串 sonstr,并输出子串在字符串中出现的次数。
具体分析如下:
1. 定义字符串 str 和子串 sonstr。
```
String str = "abtyababdabcabcdabcde";
String sonstr ="ab";
```
2. 定义计数器 count 和查找起始位置 fromindex,初始化为0。
```
int count = 0;
int fromindex=0;
```
3. 通过 while 循环在字符串 str 中查找子串 sonstr。
```
while(true) {
if((fromindex = str.indexOf(sonstr, fromindex))!=-1) {
fromindex+=sonstr.length();
System.out.println(fromindex);
count++;
}else {
break;
}
}
```
循环中的判断语句使用了 String 类的 indexOf 方法,该方法可以在一个字符串中查找指定子串第一次出现的位置,如果找到了就返回该位置,如果没找到就返回 -1。如果查找到了子串,就将计数器 count 加 1,并将查找起始位置 fromindex 更新为子串的下一个位置。如果没找到子串,就跳出循环。
4. 输出子串在字符串中出现的次数。
```
System.out.println("子串:"+sonstr+"共出现了"+count+"次");
```
最后,程序输出子串在字符串中出现的次数。
总的来说,以上代码是一个简单的字符串查找程序,通过 while 循环和 indexOf 方法实现了子串在字符串中的查找功能。
阅读全文