编写一个方法,计算一个字符串中某一子串出现的次数并返回,字符串和子串通过方法参数传入。然后用测试类进行测试
时间: 2024-09-19 10:13:33 浏览: 32
C语言求两个字符串的最长公共子串
5星 · 资源好评率100%
在Java中,你可以定义一个名为`countSubstring`的方法,该方法接收两个参数:一个是主字符串(`String str`),另一个是要查找的子串(`String subStr`)。下面是这个方法的实现:
```java
public class Main {
public static int countSubstring(String str, String subStr) {
if (str == null || subStr == null) {
throw new IllegalArgumentException("Strings cannot be null");
}
int count = 0;
int index = -1; // 初始化为-1以便首次搜索从0开始
while ((index = str.indexOf(subStr, index + 1)) != -1) { // 使用indexOf方法查找子串
count++;
}
return count;
}
public static void main(String[] args) {
// 测试类
Test test = new Test();
System.out.println(test.countSubstring("Hello, world! Hello again.", "Hello")); // 输出2
System.out.println(test.countSubstring("Java is fun", "Java")); // 输出1
System.out.println(test.countSubstring("", "")); // 输出0
}
}
class Test {
// 此处是为了包含main方法,以便进行测试
}
```
在这个例子中,`countSubstring`方法使用`indexOf`方法在主字符串中查找子串,如果找到就增加计数器,直到找不到为止。`indexOf`返回子串在字符串中的位置,如果没有找到则返回-1。
在`main`方法中,我们创建了一个`Test`类的实例,并调用`countSubstring`方法来进行测试。
阅读全文