java_字符串中子字符串出现的次数
2017-09-20 08:52
197 查看
分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。
/**
*
*/
package 作业0919;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringCount {
public static void main(String[] args) {
System.out.println("请输入要计算的父串和子串:");
Scanner scanner = new Scanner(System.in);
String father = scanner.next();
String son = scanner.next();
int count = 0;
// 方法一:
while (son.length() <= father.length()) {
if (father.indexOf(son) != -1) {
father = father.substring(father.indexOf(son) + son.length(), father.length());
count++;
} else {
break;
}
}
System.out.println("方法一中:子串在父串中出现了" + count + "次");
// 方法二:
extracted(father, son, count);
// 方法三:
count = extracted1(father, son, count);
}
private static void extracted(String father, String son, int count) {
// 方法一:
int fromIndex = father.indexOf(son);
while (fromIndex < father.length()) {
if (father.indexOf(son, fromIndex) != -1) {
count++;
fromIndex = father.indexOf(son, fromIndex) + son.length();
} else {
break;
}
}
System.out.println("方法二中:子串在父串中出现了" + count + "次");
}
private static int extracted1(String father, String son, int count) {
Pattern p = Pattern.compile(son, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(father);
while (m.find()) {
count++;
}
System.out.println("方法三中:子串在父串中出现了" + count + "次");
return count;
}
}
/**
*
*/
package 作业0919;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringCount {
public static void main(String[] args) {
System.out.println("请输入要计算的父串和子串:");
Scanner scanner = new Scanner(System.in);
String father = scanner.next();
String son = scanner.next();
int count = 0;
// 方法一:
while (son.length() <= father.length()) {
if (father.indexOf(son) != -1) {
father = father.substring(father.indexOf(son) + son.length(), father.length());
count++;
} else {
break;
}
}
System.out.println("方法一中:子串在父串中出现了" + count + "次");
// 方法二:
extracted(father, son, count);
// 方法三:
count = extracted1(father, son, count);
}
private static void extracted(String father, String son, int count) {
// 方法一:
int fromIndex = father.indexOf(son);
while (fromIndex < father.length()) {
if (father.indexOf(son, fromIndex) != -1) {
count++;
fromIndex = father.indexOf(son, fromIndex) + son.length();
} else {
break;
}
}
System.out.println("方法二中:子串在父串中出现了" + count + "次");
}
private static int extracted1(String father, String son, int count) {
Pattern p = Pattern.compile(son, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(father);
while (m.find()) {
count++;
}
System.out.println("方法三中:子串在父串中出现了" + count + "次");
return count;
}
}
相关文章推荐
- java 使用正则表达式统计一个字符串中子字符串出现次数
- java程序题:计算字符串中子字符串出现的次数
- java统计字符串中子字符串出现次数
- java 判断字符在字符串中出现的次数
- java中统计一个字符串串在另一个字符串中出现的次数
- java截取字符串中出现次数最多的字母
- java统计字符串中字母出现的次数
- java统计字符串中每个字符出现的次数
- Java 获取指定字符串出现的次数
- java Map输出字符串中字母出现的次数
- 我的Java开发学习之旅------>求字符串中出现次数最多的字符串以及出现的次数
- java String类-获取一个字符串在另一个字符串中出现的次数
- 一个字符串中出现次数最多的单词 java语言实现
- Java-NowCoder-删除字符串中出现次数最少的字符
- JAVA中查询一个词在内容中出现的次数、判断集合中是否包含关键字、查询字符串数组单个字符的长度
- JAVA---字符串出现的次数案例
- Java统计一个文本文件中每一行字符串出现的次数
- java小练习--获取abc字符串在整个字符串中出现的次数
- 遍历一次字符串,选择出在该字符串中出现次数最多的字符及其出现次数(Java)
- mysql的字段中子字符串出现的次数