JAVA编写一个程序,给定两个字符串s和t,求串t在串s中不重叠出现的次数,如果不是子串则返回0.例如s=“aaaab”,t=“aa”,则t在s中出现了两次。 具体设计思路如下:
时间: 2024-05-08 12:21:37 浏览: 97
js-utils-给定两个字符串s和t
可以使用字符串的indexOf()方法来查找子串在父串中的位置。从父串的第一个字符开始,不断查找子串,每次查找到子串后,记录下子串在父串中的位置,然后从这个位置的下一个字符开始继续查找子串,直到查找不到为止。最后统计记录的位置数即可求得子串在父串中不重叠出现的次数。
以下是具体的Java代码实现:
```
public class SubstringCount {
public static int count(String s, String t) {
int count = 0;
int index = s.indexOf(t);
while (index != -1) {
count++;
index = s.indexOf(t, index + t.length());
}
return count;
}
public static void main(String[] args) {
String s = "aaaab";
String t = "aa";
int count = count(s, t);
System.out.println("子串在父串中不重叠出现的次数为:" + count);
}
}
```
输出结果为:
```
子串在父串中不重叠出现的次数为:2
```
阅读全文