编写一个程序,统计你的学号字符串在一段字符串(可自习定义)中出现的次数。要求用String类的常用方法来计算出现的次数。 例如:张三同学学号为123456,则统计“123456”在“namezhangsan123456idnumber123456and123”出现的次数为2。 实现思路: (1)实现本程序需要先定义两个字符串,一个子串,一个检索串。 (2)要查找子串在总串中出现的次数,可以先使用String类的contain()方法,判断总串中是否包含子串,如果不包含,那么不用计算,出现的次数一定为0。 (3)如果包含了,那么再具体计算出现的次数。使用String类的indexOf()方法可以获取子串在总串中第一次出现的索引。获取到之后,再在剩余字串(该索引加上子串长度的位置处)继续查找子串(可以通过String类的subString()方法将整串的剩余部分截取出来,然后在剩余整串中从头查找子串)。依次类推,通过循环完成查找,直到找不到子串为止,此时indexOf()方法的返回值为-1. (4)定义一个计数器,记录出现的次数,在循环中每查到一次子串,则计数器加1.
时间: 2024-02-12 10:06:26 浏览: 63
统计一个字符串中每个字符出现的次数
以下是使用 `contains()` 方法实现统计子串出现次数的Java代码:
```
public class CountSubstring {
public static void main(String[] args) {
String str = "namezhangsan123456idnumber123456and123";
String subStr = "123456";
int count = 0;
if (str.contains(subStr)) {
int index = 0;
while ((index = str.indexOf(subStr, index)) != -1) {
count++;
index += subStr.length();
}
System.out.println(subStr + "出现的次数为:" + count);
} else {
System.out.println(subStr + "未出现在字符串中");
}
}
}
```
这个程序中,我们先使用 `contains()` 方法判断总串是否包含子串,如果不包含则直接输出未出现的提示信息,否则使用 `indexOf()` 方法查找子串出现的次数。其他部分和前面使用 `indexOf()` 方法的程序实现类似。
阅读全文