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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王震阳老师   /  2014-4-30 11:23  /  34899 人查看  /  452 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

看看是些什么东西
回复 使用道具 举报
我要领题了
回复 使用道具 举报
蛤蟆太康 发表于 2014-4-30 22:59
我的答案在附件里,完全自己搞定,求技术分~~~

有没有考虑过如果输入的是‘Tab’怎么统计?
回复 使用道具 举报

等着你的答案哦亲
回复 使用道具 举报
回复 看看
回复 使用道具 举报
这样就可以拿分吗
  1. public class Text11 {
  2.         public static void main(String[] args) {
  3.                 // TODO Auto-generated method stub
  4.                 int abcCount=0;//英文字母个数
  5.                 int spaceCount=0;//空格键个数
  6.                 int numCount=0;//数字个数
  7.                 int otherCount=0;//其他字符个数
  8.                 Scanner scan=new Scanner(System.in);
  9.                 String str=scan.nextLine();
  10.                 char[] ch = str.toCharArray();
  11.                 System.out.println("请输入一行字符,以回车结束");
  12.                 for(int i=0;i<ch.length;i++){
  13.                         if(Character.isLetter(ch[i])){
  14.                                 //判断是否字母
  15.                                 abcCount++;
  16.                         }
  17.                         else if(Character.isDigit(ch[i])){
  18.                                 //判断是否数字
  19.                                 numCount++;
  20.                         }
  21.                         else if(Character.isSpaceChar(ch[i])){
  22.                                 //判断是否空格键
  23.                                 spaceCount++;
  24.                         }
  25.                         else{
  26.                                 //以上都不是则认为是其他字符
  27.                         otherCount++;
  28.                         }
  29.                 }
  30.                 System.out.println("字母个数:"+abcCount);
  31.                 System.out.println("数字个数:"+numCount);
  32.                 System.out.println("空格个数:"+spaceCount);
  33.                 System.out.println("其他字符个数:"+otherCount);
  34.         }
  35. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
是什么哦
回复 使用道具 举报
答案,请查阅!

KeyInTest.zip

883 Bytes, 阅读权限: 100, 下载次数: 2

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
速度看题
回复 使用道具 举报

这题比较简单,希望你也能速度回题哦亲
回复 使用道具 举报
给力啊、、、、
回复 使用道具 举报
\(^o^)/ 发表于 2014-4-30 23:30
给力啊、、、、

希望你也能回答给哦亲
回复 使用道具 举报
获取技术分
回复 使用道具 举报
本帖最后由 赵连明 于 2014-4-30 23:43 编辑

刚刚上传格式错了

答案.zip

736 Bytes, 阅读权限: 70, 下载次数: 0

刚刚格式错了

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报

怎么不隐藏代码呀,或者发成密码贴,这样大家不都看到了吗?以后发此类技术分申请的帖子就要注意咯亲
回复 使用道具 举报

  Scanner in = new Scanner(System.in);
  System.out.print("输入一字符串:");
  String string = in.nextLine();
  int c = 0;//统计字母
  int n = 0;//统计数字
  int s = 0;//统计空格
  int b = 0;//统计符号
  char[] ch = string.toCharArray();
  for (int i = 0; i < ch.length; i++) {
   if ((ch[i]>='A' && ch[i]<='Z') | (ch[i]>='a' && ch[i]<='z')) {
    c++;
   }
   else if (ch[i]==' ') {
    s++;
   }
   else if (ch[i]>='0' && ch[i]<='9') {
    n++;
   }
   else {
    b++;
   }
  }
  System.out.println("字母:"+c+" 空格:"+s+" 数字:"+n+" 符号:"+b);
回复 使用道具 举报
又一题啊又一题!

答案.zip

692 Bytes, 阅读权限: 100, 下载次数: 2

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 继续努力

查看全部评分

回复 使用道具 举报

你的答案我已经审核,你可以再看看跟题意是否相符?你统计出的是各个字符的个数。
回复 使用道具 举报
先做这个最简单的吧,上传答案不会设置,折腾半天

count.rar

717 Bytes, 阅读权限: 150, 下载次数: 2

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
  1. import java.util.Map;
  2. import java.util.HashMap;
  3. import java.util.Iterator;
  4. import java.io.InputStreamReader;
  5. import java.io.BufferedReader;
  6. import java.io.IOException;
  7. /**
  8.         @classname:字符串相关参数统计类
  9.         @description:其实完成此题并不需要划分这么多函数,也不应该用到集合的知识。
  10.                                  但是我还是用了,因为我认为获得做题就是练习自己的技术并且每一个小题都应该当成是
  11.                                  一个大的软件做,所以我进行了一系列函数功能的划分,并且把学到的集合的知识用到了此处。
  12.                                  当然因为集合只能存储引用类型,所以也涉及到自动装箱拆箱的知识。
  13.                                  此程序完全基于EditPlus开发,无IDE工具使用。
  14.         @author:Tad http://weibo.com/weinabanta

  15. */
  16. public class Statistics
  17. {
  18.         /**
  19.                 主函数,统筹整个统计工作的进行。
  20.         */
  21.         public static void main(String[] args) throws IOException
  22.         {
  23.                 String inputLine = getString();
  24.                 Map<String,Integer> staResult = count(inputLine);
  25.                 printInfo(staResult);
  26.         }
  27.         /**
  28.                 从控制台读取字符串并返回
  29.                 @return 用户输入的字符串
  30.         */
  31.         private static String getString() throws IOException
  32.         {
  33.                 System.out.print("输入字符串:");
  34.                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  35.                 return br.readLine();
  36.         }
  37.         /**
  38.                 对字符串进行相应参数统计
  39.                 @param 需要统计的字符串
  40.                 @return 统计结果,存储在集合中
  41.         */
  42.         private static Map<String,Integer> count(String lineNeedToCount)
  43.         {               
  44.                 Integer lettersNum = 0;
  45.                 Integer spacesNum = 0;
  46.                 Integer numbersNum = 0;
  47.                 Integer othersNum = 0;
  48.                 char[] charArr = lineNeedToCount.toCharArray();
  49.                 for(int i = 0;i < charArr.length;i++)
  50.                 {
  51.                         if((charArr[i] >= 65 && charArr[i] <= 90)||(charArr[i] >= 97 && charArr[i] <= 122))
  52.                         {
  53.                                 lettersNum++;
  54.                         }
  55.                         else if(charArr[i] == 32)
  56.                         {
  57.                                 spacesNum++;
  58.                         }
  59.                         else if(charArr[i] >= 48 && charArr[i] <= 57)
  60.                         {
  61.                                 numbersNum++;
  62.                         }
  63.                         else
  64.                         {
  65.                                 othersNum++;
  66.                         }
  67.                 }
  68.                 Map<String,Integer> map = new HashMap<String,Integer>();
  69.                 map.put("    字符个数",lettersNum);
  70.                 map.put("    空格个数",spacesNum);
  71.                 map.put("    数字个数",numbersNum);
  72.                 map.put("    其它个数",othersNum);
  73.                 return map;
  74.         }
  75.         /**
  76.                 形式打印结果
  77.                 @param 需要打印的结果
  78.         */
  79.         private static void printInfo(Map<String,Integer> resultNeedToPrint)
  80.         {
  81.                 System.out.println("统计结果如下:");
  82.                 Iterator<String> keySet = resultNeedToPrint.keySet().iterator();
  83.                 while(keySet.hasNext())
  84.                 {
  85.                         String key = keySet.next();
  86.                         Integer val = resultNeedToPrint.get(key);
  87.                         System.out.println(key+" --- "+val);
  88.                 }
  89.         }
  90. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 继续努力

查看全部评分

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