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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Kevin.Kang 于 2015-7-21 14:48 编辑

统计字符类型:
  1. package com.kxg_01;
  2. import java.util.Scanner;
  3. public class StringDemo2 {
  4.         public static void main(String[] args) {
  5.                 Scanner sc = new Scanner(System.in);
  6.                
  7.                 System.out.print("请输入要统计的字符串:");
  8.                 String s = sc.nextLine();
  9.                 //定义大写字母的变量
  10.                 int bigCount = 0;
  11.                 //定义小写字母的变量
  12.                 int smallCount = 0;
  13.                 //定义数字的变量
  14.                 int numberCount = 0;
  15.                 for(int x=0; x<s.length(); x++)
  16.                 {
  17.                         char y = s.charAt(x);
  18.                         if(y>='A' && y<='Z')
  19.                         {
  20.                                 bigCount++;
  21.                         }
  22.                         else if(y>='a' && y<='z')
  23.                         {
  24.                                 smallCount++;
  25.                         }
  26.                         else if(y>='0' && y<='9')
  27.                         {
  28.                                 numberCount++;
  29.                         }
  30.                 }
  31.                 System.out.println("大写:"+bigCount);
  32.                 System.out.println("小写:"+smallCount);
  33.                 System.out.println("数字:"+numberCount);
  34.         }
  35. }
复制代码



1 个回复

倒序浏览
统计字符出现次数:
  1. package com.kxg.TreeMap;

  2. import java.util.Scanner;
  3. import java.util.Set;
  4. import java.util.TreeMap;

  5. /*
  6. * 对键盘录入字符串进行统计。
  7. */
  8. public class TreeMapTest {
  9.         public static void main(String[] args) {
  10.                 // 键盘录入字符串
  11.                 Scanner sc = new Scanner(System.in);
  12.                 System.out.println("请输入需要统计的字符串:");
  13.                 String line = sc.nextLine();

  14.                 // 把字符串转为字符数组
  15.                 char[] chs = line.toCharArray();

  16.                 // 定义一个TreeMap集合接受键值对
  17.                 TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();

  18.                 // 遍历字符数组,拿到集合中进行对比,因为第一次出现就是null,
  19.                 // 当为null时候,把字符的值换成1,然后存入集合中
  20.                 // 如果不为null,就增加键对应的值,再重新放入到集合中去,此时的值就会替换掉之前存储的
  21.                 for (char ch : chs) {
  22.                         Integer i = tm.get(ch);
  23.                         if (i == null) {
  24.                                 tm.put(ch, 1);
  25.                         } else {
  26.                                 i++;
  27.                                 tm.put(ch, i);
  28.                         }
  29.                 }

  30.                 // 定义一个字符串缓冲区
  31.                 StringBuffer sb = new StringBuffer();

  32.                 // 遍历键值对,把键和值都添加到字符串缓冲区中
  33.                 Set<Character> set = tm.keySet();
  34.                 for (Character key : set) {
  35.                         Integer value = tm.get(key);
  36.                         sb.append(key).append("(").append(value).append(")");
  37.                 }

  38.                 // 把字符串缓冲区转为字符串,进行输出
  39.                 String s = sb.toString();
  40.                 // 按照字符自然顺序进行输出的
  41.                 System.out.println(s);
  42.         }
  43. }
复制代码



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