自从学了API,感觉每个类的方法真的超级多,也意识到,常用的要记住,大部分还是需要用到的时候再去查文档的。
昨天那个输入一个字符串,然后其中输出每个字符的个数的题,今天再老司机讲了之后,然后又学习了一点正则表达式,现在又出现两种解决办法。
第一种使用标记的思想,先定义一个跟字符串长度一样的布尔类型的数组,规定false表示这个位置上的字符没有被统计过,true表示已经被统计过,则不需再统计。
遍历这个字符串中的每一个字符,先判定这个字符是否被统计过。
如果为true则判定下一个字符,否则将这个字符取出来和这个字符之后的每一个字符进行比较。
并添加一个计数器计数,直到遍历到字符串末尾。
同时也需要将对应的布尔数组中的值改为true,最后输出该字符和该字符的个数。
第二种使用到了正则表达式中一些知识和String类的replaceAll方法,原理是遍历这个字符串,从第一位开始,计算第一个字符的个数,计算完一个就将这个这个字符从这个字符串中去除,这个字符的长度就是老字符串和新字符串的长度之差。下一步计算新的字符串的第一个字符,以此类推,直到字符串的长度为零。
内容仅供个人学习、记录使用,侵删
领取专属 10元无门槛券
私享最新 技术干货