面试技巧

关注公众号 jb51net

关闭
IT专业知识 > IT职场规划 > 面试技巧 >

面试题---长字符串中统计每个字母出现次数

脚本之家

长字符串中统计每个字母出现次数

给定常字符串:abcsdfdjfkdscaaacccbbbkssss

结果输出:a(4)b(4)c(5)s(6)d(3)f(2)j(1)k(2)

代码

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class MyTest04 {
    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        String s = sc.nextLine();
        String str="abcsdfdjfkdscaaacccbbbkssss";
        LinkedHashMap<Character, Integer> map = new LinkedHashMap<>();
//      字母统计算法
        for (int i = 0; i < str.length(); i++) {
            char ch=str.charAt(i);
            if (!map.containsKey(ch)){
                map.put(ch,1);
            }else{
                Integer num = map.get(ch);
                num++;
                map.put(ch,num);
            }
        }
//        拼串
        StringBuffer sb = new StringBuffer();
        Set<Map.Entry<Character, Integer>> entries = map.entrySet();
        for (Map.Entry<Character, Integer> entry:entries){
            sb.append(entry.getKey()).append("("+entry.getValue()+")");
        }
        System.out.println(sb.toString());
    }
}

总结

以上所述是小编给大家介绍的面试题---长字符串中统计每个字母出现次数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!