本文主要是介绍【算法】单词出现次数和位置统计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【算法】单词出现次数和位置统计
题目描述
编写一个程序,用于统计一个给定单词在一段文本中出现的次数以及第一次出现的位置。如果单词在文本中出现,则输出出现次数和第一次出现的位置(位置从0开始计算)。如果单词没有出现,则输出-1。
思路分析
- 使用
Scanner
类从控制台读取两个字符串:要搜索的文本str
和要统计的单词substring
。 - 定义一个方法
countStr
,该方法接收两个字符串参数,返回单词在文本中出现的次数。 - 在
countStr
方法中,使用indexOf
方法循环查找单词在文本中的位置。 - 每次找到单词后,增加计数器
count
的值,并将索引index
增加1,以便查找下一个可能的位置。 - 如果
indexOf
返回-1,表示单词不再文本中出现,循环结束。 - 在主方法中调用
countStr
方法,并打印结果。
输入示例
to
to be or not to be is a question
输出示例
2 0
代码实现
import java.util.Scanner;public class countStr {public static void main(String[] args) {// 创建Scanner对象用于读取控制台输入Scanner sc = new Scanner(System.in);// 读取要搜索的文本String str = sc.next();// 读取要统计的单词String substring = sc.next();// 调用countStr方法并打印结果System.out.println(countStr(str, substring));}/*** 统计单词在文本中出现的次数和第一次出现的位置* @param str 要搜索的文本* @param substring 要统计的单词* @return 包含出现次数和第一次出现位置的字符串(格式:次数 位置),如果未出现则返回-1*/public static String countStr(String str, String substring) {int count = 0;int index = 0;while ((index = str.indexOf(substring, index)) != -1) {count++;index += substring.length();}if (count > 0) {return count + " " + str.indexOf(substring) + "";} else {return "-1";}}
}
这篇关于【算法】单词出现次数和位置统计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!