- package com.itheima;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- /**
- *
- * 题目:取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" , 输出格式为:a(2)b(1)k(2)... 1.封装键盘录入
- * 2,接收字符串数组 3.去掉重复字符和数字字符 4.遍历点数,输出
- *
- * @author perry
- *
- */
- public class Test3 {
- public static void main(String[] args) throws IOException {
- System.out.println("请输入一串字符串:");
- // 封装键盘录入
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- String s = br.readLine();
- // 把是数字的字符去掉
- String ss = s.replaceAll("[0-9]", "");
- // 把重复的字符去掉,保留第一次出现的
- String sss = ss.replaceAll("(?s)(.)(?=.*\\1)", "");
- System.out.println(ss);
- System.out.println(sss);
- // 把字符转换为字符数组
- char[] chs1 = ss.toCharArray();
- char[] chs2 = sss.toCharArray();
- // 遍历并且对比,把出现相同的,数字加1
- for (int i = 0; i < chs2.length; i++) {
- int cout = 1;
- for (int j = 0; j < chs1.length; j++) {
- if (chs1[j] == chs2[i]) {
- cout++;
- }
- }
- // 输出统计结果
- System.out.print(chs2[i] + "(" + cout + ")");
- }
- }
- }
复制代码
|
|