黑马程序员技术交流社区

标题: 取出一个字符串,计算字符出现的次数 [打印本页]

作者: MoonsenHung    时间: 2015-8-25 23:29
标题: 取出一个字符串,计算字符出现的次数
  1. package com.itheima;

  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;

  5. /**
  6. *
  7. * 题目:取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" , 输出格式为:a(2)b(1)k(2)... 1.封装键盘录入
  8. * 2,接收字符串数组 3.去掉重复字符和数字字符 4.遍历点数,输出
  9. *
  10. * @author perry
  11. *
  12. */
  13. public class Test3 {

  14.         public static void main(String[] args) throws IOException {

  15.                 System.out.println("请输入一串字符串:");
  16.                 // 封装键盘录入
  17.                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

  18.                 String s = br.readLine();
  19.                 // 把是数字的字符去掉
  20.                 String ss = s.replaceAll("[0-9]", "");
  21.                 // 把重复的字符去掉,保留第一次出现的
  22.                 String sss = ss.replaceAll("(?s)(.)(?=.*\\1)", "");
  23.                 System.out.println(ss);
  24.                 System.out.println(sss);
  25.                 // 把字符转换为字符数组
  26.                 char[] chs1 = ss.toCharArray();
  27.                 char[] chs2 = sss.toCharArray();
  28.                 // 遍历并且对比,把出现相同的,数字加1
  29.                 for (int i = 0; i < chs2.length; i++) {
  30.                         int cout = 1;
  31.                         for (int j = 0; j < chs1.length; j++) {
  32.                                 if (chs1[j] == chs2[i]) {
  33.                                         cout++;
  34.                                 }
  35.                         }
  36.                         // 输出统计结果
  37.                         System.out.print(chs2[i] + "(" + cout + ")");
  38.                 }
  39.         }

  40. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2