编写一个程序,统计你的学号字符串在一段字符串(可自习定义)中出现的次数。要求用String类的常用方法来计算出现的次数。 例如:张三同学学号为123456,则统计“123456”在“namezhangsan123456idnumber123456and123”出现的次数为2。 实现思路: (1)实现本程序需要先定义两个字符串,一个子串,一个检索串。 (2)要查找子串在总串中出现的次数,可以先使用String类的contain()方法,判断总串中是否包含子串,如果不包含,那么不用计算,出现的次数一定为0。 (3)如果包含了,那么再具体计算出现的次数。使用String类的indexOf()方法可以获取子串在总串中第一次出现的索引。获取到之后,再在剩余字串(该索引加上子串长度的位置处)继续查找子串(可以通过String类的subString()方法将整串的剩余部分截取出来,然后在剩余整串中从头查找子串)。依次类推,通过循环完成查找,直到找不到子串为止,此时indexOf()方法的返回值为-1. (4)定义一个计数器,记录出现的次数,在循环中每查到一次子串,则计数器加1.
时间: 2024-02-12 12:06:36 浏览: 72
实验2资料-20181
好的,以下是Python的程序实现:
```python
# 定义子串和检索串
substring = "123456"
search_string = "namezhangsan123456idnumber123456and123"
# 判断检索串中是否包含子串
if substring in search_string:
count = 0
index = 0
# 循环查找子串
while index != -1:
index = search_string.find(substring, index)
if index != -1:
count += 1
index += len(substring)
print("子串出现的次数为:", count)
else:
print("子串在检索串中不存在!")
```
该程序通过Python内置的字符串方法 `in` 判断检索串中是否包含子串,如果包含则使用 `find()` 方法查找子串的位置,并通过循环计数器统计出现次数。如果不包含则输出提示信息。
阅读全文