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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾乐祥 中级黑马   /  2016-6-20 13:48  /  414 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  System.out.println("请您输入一个字符串:");
  HashMap<String, Integer> hm = new HashMap<>();
  String line = sc.nextLine();
  char[] arr = line.toCharArray();
  for (char c : arr) {
   hm.put(c, hm.containsKey(c) ? hm.get(c) + 1 : 1);//谁能说说这行代码哪里错了
  }
  for (String key : hm.keySet()) {
   Integer value = hm.get(key);
   System.out.println(key + "=" + value);
  }
}

2 个回复

倒序浏览
hm的泛型是String, Integer, 但是你的containsKey后面传的是char. 你试试看是不是这个问题
回复 使用道具 举报
楼上正解,抛出的异常估计NumberFormatException
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马