JAVA编写一个程序,给定两个字符串s和t,求串t在串s中不重叠出现的次数
时间: 2024-05-08 19:21:37 浏览: 91
以下是Java代码实现:
```
public class StringMatch {
public static int countMatches(String s, String t) {
int count = 0;
int index = s.indexOf(t); // 获取t在s中第一次出现的位置
while (index != -1) {
count++; // 计数器加1
index = s.indexOf(t, index + 1); // 查找下一个位置
}
return count;
}
public static void main(String[] args) {
String s = "abcdeabcdabc";
String t = "abc";
int count = countMatches(s, t);
System.out.println("字符串t在字符串s中不重叠出现的次数为:" + count);
}
}
```
代码说明:
1. `countMatches` 方法接受两个字符串参数 `s` 和 `t`,返回串 `t` 在串 `s` 中不重叠出现的次数。
2. 使用 `indexOf` 方法获取 `t` 在 `s` 中第一次出现的位置。如果 `indexOf` 方法返回 `-1`,表示 `t` 未出现在 `s` 中,则直接返回计数器 `count`。
3. 如果 `t` 在 `s` 中出现了,则计数器 `count` 加 1,并使用 `indexOf` 方法查找下一个位置。
4. 循环直到 `indexOf` 方法返回 `-1`,表示 `t` 已经在 `s` 中全部查找完毕。
5. 在 `main` 方法中测试 `countMatches` 方法。
阅读全文