privatestaticvoidtest(){ Stringss="Ae5a2sd35s4eEe62a35e1ao"; Patternp=Pattern.compile("(\\d+)"); //使用正则表达式取出所有数字 Matcherm=p.matcher(ss); Mapcc=newHashMap(); //统计所有数字的出现次数。数字为key,出现次数为value存入map while(m.find()){ inti=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次则全部找出 intmax=Collections.max(cc.values()); for(Entryentry:cc.entrySet()){ if(entry.getValue()==max){ System.out.println(entry.getKey()+ "为出现最多的数,出现次数为"+entry.getValue()+ ".和为"+entry.getKey()*entry.getValue()); } }} |