快手[编程题] 字符串归一化

版权声明:本文为博主-姜兴琪原创文章,未经博主允许不得转载。 https://blog.csdn.net/jxq0816/article/details/83931575

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

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

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

输入描述:

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

输出描述:

输出压缩后的字符串ac5d2e

输入例子1:

dabcab

输出例子1:

a2b2c1d1
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.next();
        Map map=new HashMap();
        for(int i=0;i<s.length();i++){
            char ch=s.charAt(i);
            if(map.get(ch)==null){
                map.put(ch,1);
            }else{
                int cnt= (int) map.get(ch);
                map.put(ch,cnt+1);
            }
        }
        for(Object obj : map.entrySet()){
            Map.Entry<String,Integer> entry= (Map.Entry<String, Integer>) obj;
            System.out.print(String.valueOf(entry.getKey())+ entry.getValue());
        }
        in.close();
    }
}

猜你喜欢

转载自blog.csdn.net/jxq0816/article/details/83931575