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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yuanqing 中级黑马   /  2016-6-24 23:48  /  490 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yuanqing 于 2016-6-24 23:49 编辑

2.分析以下需求,并用代码实现:
        (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)
  1. package zuoye2;

  2. import java.util.HashMap;
  3. import java.util.Map.Entry;
  4. import java.util.Scanner;
  5. import java.util.Set;

  6. public class check {

  7.         /**
  8.          * @param args
  9.          */
  10.         public static void main(String[] args) {
  11.                 System.out.println("请输入任意字符串");
  12.                 Scanner sc=new Scanner(System.in);
  13.                
  14.                 String str=sc.nextLine();
  15.                 char[]arr=str.toCharArray();
  16.                 HashMap<Character, Integer> hs=new HashMap<Character, Integer>();
  17.                
  18.                 for(char c:arr){
  19.                         hs.put(c, hs.containsKey(c)?hs.get(c)+1:1);
  20.                 }
  21.                
  22.                 for(Entry<Character, Integer> key:hs.entrySet()){
  23.                         System.out.println(key.getKey()+" ("+key.getValue()+")");
  24.                 }

  25.         }

  26. }
复制代码

2 个回复

倒序浏览
代码简单高效,学习到不少知识,
回复 使用道具 举报
恩,不错的题目
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马