【华为下机题 哈尔滨站】统计0-9数码组成的字符串中出现次数最多的数码
【华为上机题 哈尔滨站】统计0-9数码组成的字符串中出现次数最多的数码
package com.quanqiuwang.base.action; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * @描述:统计0-9数码组成的字符串中出现次数最多的数码 * @部门:研发部 * @作者:马铁利 * @创建时间:2012-10-11 上午9:29:48 */ public class Test { public static void main(String[] args) { CountChar("01234567895463215487956321401020000255555555555"); } public static void CountChar(String str) { if (str != null && str.length() > 0) { char[] cs = str.toCharArray(); Map<Character,Integer> map=new HashMap<Character,Integer>(); for(Character c : cs){ if(map.containsKey(c)){ map.put(c, (Integer)map.get(c)+1); }else{ map.put(c, 1); } } System.out.println(map); Set<Character> keyset=map.keySet(); Iterator<Character> iter = keyset.iterator(); Integer count=0; Character key = new Character(' '); while(iter.hasNext()){ Character ccc = (Character)iter.next(); if(map.get(ccc) > count){ count = map.get(ccc); key = ccc; } } System.out.println("【"+key.toString()+"】出现的次数最多,出现了"+ count+"次"); } } }