【问题标题】:count occurences of successive characters of a string [duplicate]计算字符串中连续字符的出现次数[重复]
【发布时间】:2015-09-02 12:56:23
【问题描述】:

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

String s1="aabbcccaaa";

它应该打印输出为

a2b2c3a3

字符串 s1="aabbcccaaa";

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);

【问题讨论】:

  • 好的,请继续数数:)
  • 为什么我们要为你写完整的代码?至少先尝试一下
  • 谢谢.. 我尝试迭代元素并使用 map 将键作为元素并将值作为其出现。如果再次出现相同的元素,我不确定如何实现计数..
  • 显示您到目前为止所做的代码,询问您遇到的具体问题,我们将从那里获取。一般来说,学习如何以建设性的方式使用这个好网站
  • 你可以做到的....继续努力

标签: java arrays string


【解决方案1】:

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

提示 #1:根据前一个字符测试当前字符。

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

【讨论】:

    猜你喜欢
    • 2021-01-27
    • 2012-05-31
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    相关资源
    最近更新 更多