练习-Java字符串之String类常用方法之统计一个字符串里面另一个字符串出现的次数 实验总用时:00:18:33 资源中心 数据集 nav 第1关:练习-Java字符串之String类常用方法之统计一个字符串里面另一个字符串出现的次数 100 学习内容 参考答案 记录 评论 任务描述 编程要求 测试说明 任务描述 本关任务:接收两个字符串,统计第二个字符串在第一个字符串里出现的次数。 编程要求 仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。 测试说明 平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧 “测试结果”区查看具体的测试集详情。 开始你的任务吧,祝你成功! resize-icon
时间: 2025-03-31 15:06:41 浏览: 49
### Java 中统计子串在字符串中的出现次数
要在 Java 中统计一个子串在另一个字符串中出现的次数,可以使用 `indexOf` 方法来逐步查找目标子串的位置。每次找到匹配项后,更新起始位置继续搜索直到遍历整个字符串。
以下是实现此功能的一个例子:
```java
public class SubstringCountExample {
public static int countOccurrences(String str, String subStr) {
if (subStr.length() == 0 || str.length() == 0) return 0;
int count = 0;
int index = 0;
while ((index = str.indexOf(subStr, index)) != -1) {
count++;
index += subStr.length(); // 移动到下一个可能的起点
}
return count;
}
public static void main(String[] args) {
String myString = "ababcababc";
String searchString = "ab";
int result = countOccurrences(myString, searchString);
System.out.println("The substring '" + searchString + "' appears " + result + " times.");
}
}
```
上述代码定义了一个方法 `countOccurrences` 来计算指定子串在给定字符串中的出现次数[^1]。通过循环调用 `indexOf` 并不断调整索引来跳过已计数的部分,从而确保不会重复计算相同的匹配项。
对于更复杂的场景,比如需要考虑大小写敏感性或者忽略某些字符的情况,则可以根据需求修改逻辑。例如,在比较之前统一转换成小写字母形式即可解决不区分大小写的匹配问题。
#### 处理特殊情况
当涉及到更多约束条件时(如限定唯一字符数量的最大值),则需额外编写算法处理这些规则。这通常涉及滑动窗口技术或其他高级数据结构的应用[^2]。
阅读全文
相关推荐



















