计算字符串的连续字符的出现次数

时间:2015-09-02 12:56:24

标签: java arrays string

我有一个String,我需要计算字符串连续字符的出现次数。

String s1="aabbcccaaa";

应将输出打印为

a2b2c3a3

String s1 =" aabbcccaaa&#34 ;;

char c[]=s1.toCharArray();
StringBuffer sb=new StringBuffer();

LinkedHashMap<Character,Integer> map=new LinkedHashMap<Character,Integer>();




for(int i=0;i<c.length;i++)
{
    Character c1=c[i];
    Integer frequency=map.get(c1);
    map.put(c1, (frequency==null)?1:frequency+1);

    if(map.size()>1 && c[i]!=c[i-1])
    {
        sb.append(c[i-1]+""+map.get(c[i-1]));
        map.remove(c[i-1]);
    }



}
sb.append(map);
System.out.println(sb);

1 个答案:

答案 0 :(得分:1)

  

如果再次出现相同的元素,我不知道如何实现计数。

提示#1:针对前一个字符测试当前字符。

提示#2:问问自己,为什么需要使用Map