A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 某某帅 中级黑马   /  2016-9-19 22:06  /  377 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(1)利用键盘录入,输入一个字符串
        (2)统计该字符串中各个字符的数量
        (3)如:
                用户输入字符串"If~you-want~to~change-your_fate_I_think~you~must~come-to-the-dark-horse-to-learn-java"
                程序输出结果:-(9)I(2)_(3)a(7)c(2)d(1)e(6)f(2)g(1)h(4)i(1)j(1)k(2)l(1)m(2)n(4)o(8)r(4)s(2)t(8)u(4)v(1)w(1)y(3)~(6)



看好结果 是结果

1 个回复

倒序浏览
这题主要难点在于使用双列集合存储数据,如果包含就要值加一,否则存一
public class Test1 {
       
        public static void main(String[] args) throws IOException {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入字符串");
                String line = sc.nextLine();
                TreeMap<Character,Integer> tm = new TreeMap<>();
                char[] chs = line.toCharArray();
                for (char c : chs) {
                        tm.put(c, tm.containsKey(c)?tm.get(c)+1:1);
                }
                Set<Character> keySet = tm.keySet();
                for (Character ch : keySet) {
                        System.out.print(ch+"("+tm.get(ch)+")");
                }
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马