请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次数。

通过键盘输入一串小写字母(a~z)组成的字符串。

请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次

数。

例如字符串"babcc"归一化后为"a1b2c2"

输入描述:

每个测试用例每行为一个字符串,以’\n’结尾,例如cccddecca

输出描述:

输出压缩后的字符串ac5d2e

示例1

输入

dabcab

输出

a2b2c1d1

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution{
    public static void main(String[] args) throws IOException {
        InputStreamReader input = new InputStreamReader(System.in);  // 字节流转换为字符流
        BufferedReader buffer = new BufferedReader(input);   // 放入BufferedReader使得读取速度更快
        int []count = new int[26];   // 创建一个数组用于计数
        char []charArray = buffer.readLine().toCharArray();  // 将输入的字符串按行读取后转换为字符数组
        for(int i=0; i<charArray.length; i++){
            count[charArray[i]-'a']++;  // 遍历字符数组,计数各个字符出现的次数
        }
        StringBuffer sb = new StringBuffer();
        for(int i=0; i < 26; i++){  // 将26个子母中存在的字母进行遍历输出
            if(count[i] !=0){
                sb.append((char)(i+'a'));  // 强制类型转换为字符
                sb.append(count[i]);
            }
        }
        System.out.println(sb.toString());
    }
}
发布了37 篇原创文章 · 获赞 0 · 访问量 5700

猜你喜欢

转载自blog.csdn.net/one111a/article/details/102761223
今日推荐