您的位置:首页 > 其它

找出字符串中出现次数最多的字符和其出现的数量

2017-02-27 19:21 288 查看
public static void main(String [] params){
//查询一个字符串中出现在最多的字符
String str = "aacssdefeffffettgggeewwwwwggggrhhh";
String maxChar = "";    //出现次数最多的字符
int maxCount = 0;       //出现的次数

Map<Character , Integer> charMap = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
//当前字符
Character currChar = str.charAt(i);
if(!charMap.containsKey(currChar)){ //不重复的字符作为key
charMap.put(currChar,0 );
}
}

//计算每个字符出现的数量
for (int i = 0; i < str.length(); i++) {
//当前字符
Character currChar = str.charAt(i);
for (Character key : charMap.keySet()) {
if(key.equals(currChar)){
Integer val = charMap.get(key);
val++;
charMap.put(key, val);
if(val>maxCount){
maxCount = val;
maxChar =String.valueOf(currChar);
}
}
}
}

//循环输出每个字符出现的数量
for (Character key : charMap.keySet()) {
System.out.println(key+"出现的数量为:"+charMap.get(key));
}
System.out.println("出现次数最多的是"+maxChar+",总出现"+maxCount+"次");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string