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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

从键盘录入一个字符串,统计该串中有大写字母、小写字母、数字各有多少个。

1 个回复

正序浏览
本帖最后由 黑夜中那颗星 于 2015-10-26 23:59 编辑
  1. 这是我写的,供你参考,应该还有更好的办法
复制代码
  1. import java.io.*;
  2. import java.util.*;
  3. public class Test {
  4.         public static void main(String[] args) throws IOException{
  5.                 System.out.println(demo());
  6.         }
  7.         public static String demo() throws IOException{
  8.                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  9.                 HashMap<String,Integer> hm = new HashMap<String,Integer>();
  10.                 StringBuilder sb = new StringBuilder();
  11.                 String value = br.readLine();
  12.                 char[] ch = value.toCharArray();
  13.                 hm.put("upper",0);        //大写
  14.                 hm.put("lower",0);        //小写
  15.                 hm.put("number",0);        //数字
  16.                 hm.put("other",0);        //其他
  17.                 for(int x = 0;x<ch.length;x++){        
  18.                         if(ch[x]>='A'&&ch[x]<='Z'){        //大写计数
  19.                                 int num = hm.get("upper");
  20.                                 hm.put("upper",++num);
  21.                         }
  22.                         else if(ch[x]>='a'&&ch[x]<='z'){//小写计数
  23.                                 int num = hm.get("lower");
  24.                                 hm.put("lower",++num);
  25.                         }
  26.                         else if(ch[x]>='0'&&ch[x]<='9'){//数字计数
  27.                                 int num = hm.get("number");
  28.                                 hm.put("number",++num);
  29.                         }
  30.                         else{
  31.                                 int num = hm.get("other");//其他计数
  32.                                 hm.put("other",++num);
  33.                         }
  34.                 }
  35.                 Set<Map.Entry<String, Integer>> set = hm.entrySet();
  36.                 Iterator<Map.Entry<String, Integer>> it = set.iterator();
  37.                 while(it.hasNext()){
  38.                         Map.Entry<String, Integer> map = it.next();
  39.                         String k = map.getKey();
  40.                         int v = map.getValue();
  41.                         sb.append(k+"("+v+")");
  42.                 }
  43.                 return sb.toString();
  44.         }
  45. }
复制代码



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马