1. 程式人生 > >快手[程式設計題] 字串歸一化

快手[程式設計題] 字串歸一化

通過鍵盤輸入一串小寫字母(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();
    }
}