Java 11 统计字符串中各个字符出现的次数

自从学了API,感觉每个类的方法真的超级多,也意识到,常用的要记住,大部分还是需要用到的时候再去查文档的。

昨天那个输入一个字符串,然后其中输出每个字符的个数的题,今天再老司机讲了之后,然后又学习了一点正则表达式,现在又出现两种解决办法。

第一种使用标记的思想,先定义一个跟字符串长度一样的布尔类型的数组,规定false表示这个位置上的字符没有被统计过,true表示已经被统计过,则不需再统计。

遍历这个字符串中的每一个字符,先判定这个字符是否被统计过。

如果为true则判定下一个字符,否则将这个字符取出来和这个字符之后的每一个字符进行比较。

并添加一个计数器计数,直到遍历到字符串末尾。

同时也需要将对应的布尔数组中的值改为true,最后输出该字符和该字符的个数。

第二种使用到了正则表达式中一些知识和String类的replaceAll方法,原理是遍历这个字符串,从第一位开始,计算第一个字符的个数,计算完一个就将这个这个字符从这个字符串中去除,这个字符的长度就是老字符串和新字符串的长度之差。下一步计算新的字符串的第一个字符,以此类推,直到字符串的长度为零。

内容仅供个人学习、记录使用,侵删

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180816G1XD2100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券