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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 猜不得先生 中级黑马   /  2016-1-15 17:26  /  617 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

3 个回复

倒序浏览
我想说一下我的思路:

首先键盘录入一串字符串,定义一个数组把每个字符写入数组,这里需要考虑数组长度问题;
定义一个计数器
统计英文字符,利用ASCLL码表,判断字符是否属于英文字符;
同理判断数字;
空格我不知道怎么判断,不敢妄下结论;
将上面的判断出来的true的次数累计到计数器中;
判断其他字符,用数组的长度减去计数器
这是我的思路,抛砖引玉,希望有实现出来的大神教教我
回复 使用道具 举报
import java.util.*;                //导包 class Test {         public static void main(String[] args) {                 //输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。                 Scanner sc = new Scanner(System.in);                 System.out.println("请输入一个字符串");                 String s = sc.nextLine();        //存储录入的字符串                 char[] chs = s.toCharArray();//将字符串转化为字符数组                  TreeMap<Character,Integer> tm = new TreeMap<>();                 for(Character c : chs){                         if(!tm.containsKey(c)){                                 tm.put(c,1);                         }else{                                 tm.put(c,tm.get(c)+1);                         }                 }                 for(Character c : tm.keySet()){                         int value = tm.get(c);                         System.out.println(c + "=" + value);                 }          } }
回复 使用道具 举报
升级版的,可以统计每个字符出现的次数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马