java面试题10--String--统计大串中小串出现的次数
2016-08-12 22:30
447 查看
解题思路:
代码实现:
代码实现:
/* * 统计大串中小串出现的次数 * 举例: * 在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun" * 结果: * java出现了5次 * * 分析: * 前提:是已经知道了大串和小串。 * * A:定义一个统计变量,初始化值是0 * B:先在大串中查找一次小串第一次出现的位置 * a:索引是-1,说明不存在了,就返回统计变量 * b:索引不是-1,说明存在,统计变量++ * C:把刚才的索引+小串的长度作为开始位置截取上一次的大串,返回一个新的字符串,并把该字符串的值重新赋值给大串 * D:回到B */ public class StringTest5 { public static void main(String[] args) { // 定义大串 String maxString = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"; // 定义小串 String minString = "java"; // 写功能实现 int count = getCount(maxString, minString); System.out.println("Java在大串中出现了:" + count + "次"); } /* * 两个明确: 返回值类型:int 参数列表:两个字符串 */ public static int getCount(String maxString, String minString) { // 定义一个统计变量,初始化值是0 int count = 0; /* // 先在大串中查找一次小串第一次出现的位置 int index = maxString.indexOf(minString); // 索引不是-1,说明存在,统计变量++ while (index != -1) { count++; // 把刚才的索引+小串的长度作为开始位置截取上一次的大串,返回一个新的字符串,并把该字符串的值重新赋值给大串 // int startIndex = index + minString.length(); // maxString = maxString.substring(startIndex); maxString = maxString.substring(index + minString.length()); // 继续查 index = maxString.indexOf(minString); } */ int index; //先查,赋值,判断 while((index=maxString.indexOf(minString))!=-1){ count++; maxString = maxString.substring(index + minString.length()); } return count; } }
相关文章推荐
- Java-10-50的随机数,统计出现的次数
- 【小程序】JAVA实现从10~50中随机生成50个数,统计出现的数字及次数,输出出现最多的次数及对应的数字,按数字升序排列。
- 统计某java文件中的代码行数、某个字符(char)、某字符串(String)出现的次数
- Java统计50个10到50之间整数的随机出现次数
- java实现统计输入一行string中统计其中各个字符出现的次数
- java基础面试题之String字符串出现次数
- Java 读取一段英文文档统计每个单词出现的次数和单词的总数
- java中统计字符串出现次数
- 随机产生50个数字,每个数字的范围是[10, 50],统计每个数字出现的次数
- java统计一篇文章中单词出现的次数
- Java利用正则表达式统计某个字符串出现的次数
- 随机生成长度为100的数组,数组元素为1到10,统计出现次数最多和最少的元素
- 随机产生50个【10,50】之间的整数,统计各个整数出现的次数等
- java统计List中的元素重复出现的次数
- Java利用正则表达式统计某个字符串出现的次数
- java之统计字符串出现的次数(map)
- C#面试题统计用户输入的一串数字中每个数字出现的次数
- java统计一篇文章中单词出现的次数
- java统计字符串中子字符串出现次数
- Sql统计一个字符串在另一个字符串出现的次数的函数-fnQueryCharCountFromString