package test;
import java.util.HashMap;
import java.util.Map;
/**
* 求出现次数最大的连续3个字符
*
* @author liyulin
* @version 1.0 2013-9-25 下午11:50:33
*/
public class CalculateStringNum {
public static void main(String[] args) {
String str = "aaabbbaaabbbcccaaabbbcccsssddass";
Map<String, Integer> map = new HashMap<String, Integer>();// 存储每3个字符的个数
int size = str.length();
for (int i = 0; i < size - 2; i++) {
String str1 = str.substring(i, i + 3);// 3个字符
int num = 0;
for (int j = 0; j < size - 2; j++) {
String str2 = str.substring(j, j + 3);// 3个字符
if (str1.equals(str2)) {
num++;
}
}
map.put(str1, num);
}
// 求最大次数
int max = 0;
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry);// 打印所有的连续3个字符的次数
if (entry.getValue() > max) {
max = entry.getValue();
}
}
System.out.println("================================================");
// 打印出次数最大的字符串及次数
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (entry.getValue() == max) {
System.out.println(entry);
}
}
}
}