白绿色
private static void test() {
String ss = "Ae5a2sd35s4eEe62a35e1ao";
Pattern p=Pattern.compile("(\\d+)");
// 使用正则表达式取出所有数字
Matcher m=p.matcher(ss);
Map<Integer, Integer> cc = new HashMap<Integer, Integer>();
// 统计所有数字的出现次数。数字为key,出现次数为value存入map
while(m.find()){
int i = Integer.valueOf(m.group(1));
if(cc.containsKey(i)) {
cc.put(i, cc.get(i) + 1);
}else {
cc.put(i, 1);
}
}
// 找到map中最大的value,即最大的出现次数,它对应的key则为出现最多的数字
// 可能不止一个,使用循环找出所有出现最多的数字。如果都只出现1次则全部找出
int max = Collections.max(cc.values());
for(Entry<Integer, Integer> entry : cc.entrySet()) {
if(entry.getValue() == max) {
System.out.println(entry.getKey() +
"为出现最多的数,出现次数为" + entry.getValue() +
". 和为" + entry.getKey() * entry.getValue());
}
}
}