9、字符串处理

编程题目:

9.将字符串”aaabccddf”处理为”a3bc2d2f”,请编写这个程序。

示例代码:

package program.string.exercise09;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * 9.将字符串"aaabccddf"处理为"a3bc2d2f",请编写这个程序。
 */

public class StringHandle {
    public static void main(String[] args) {

        String str = "aaabccddf";
        handleString(str);

    }

    //处理字符串
    private static void handleString(String str) {

        StringBuffer sbf = new StringBuffer();
        Map<Character, Integer> map = new HashMap<Character, Integer>();

        char[] cs = str.toCharArray();
        for(int i=0;i<cs.length;i++){
            if(map.containsKey(cs[i])){
                map.put(cs[i], map.get(cs[i])+1);
            }else{
                map.put(cs[i], 1);
            }
        }

        Iterator<Character> iterator = map.keySet().iterator();
        while (iterator.hasNext()) {
            Character key = (Character) iterator.next();
            Integer value = map.get(key);
            if(value == 1){
                sbf.append(key);
            }else{
                sbf.append(key+""+value);//注意:append只能拼接字符串,需要加上""将其转换成字符串
            }
        }
        System.out.println(sbf);

    }
}

结果显示:

这里写图片描述

猜你喜欢

转载自blog.csdn.net/jsc123581/article/details/81808887
今日推荐