计算字符中相邻位置相同字符的个数
来源:互联网 发布:旅行箱 知乎 编辑:程序博客网 时间:2024/05/21 10:03
题目:计算字符中相邻位置相同字符的个数
例如:abbbccdfgk 输出a1b3c2d1f1g1k1
package cn.zyz.a_zy;public class Test1 {public static void main(String[] args) {read1();}public static void read1() {String str = "abbbccdfgk";int i = 0 , count = 1 , j; //i是遍历到的位置,count是出现的数量(因为不和自身比较,所以count从1开始),j是i位置后一个元素/** * 如果还没有遍历完str字符串 */while(i < str.length()) {for(j = i+1; j < str.length(); j++) { if(str.charAt(i) != str.charAt(j)) { //如果相邻不相等 ,停止for循环break;}count++; //相等,count加1}System.out.print(str.charAt(i)+""+count+" "); //输出字符和出现的次数count = 1; //count重置i = j; }}}
输出结果为:a1 b3 c2 d1 f1 g1 k1
2.用递归实现
public class Test2 {public static void main(String[] args) {ToStr toStr = new ToStr();toStr.toStr2("abbccccccddffffgggh");}}class ToStr{private static int i = 0, j = 1 , count = 1;public void toStr2(String str) {if(i < str.length()) {if(j == str.length() || str.charAt(i) != str.charAt(j)) {System.out.print(str.charAt(i)+""+count+" "); //输出count = 1;i = j; //i从j的位置继续遍历 }else {count++; //如果等于,count++}j++; //j继续往下移动toStr2(str); //递归电泳}}}输出结果为:a1 b2 c6 d2 f4 g3 h1
阅读全文
0 0
- 计算字符中相邻位置相同字符的个数
- 从字符串中删除相同的相邻字符
- 统计字符串中相同字符的个数
- ACdream 计算最长非连续相同字符的个数
- 删除与某个字符相邻且相同的字符
- (Relax ST1.16)POJ 3589 Number-guessing Game(求连个字符串中相同的字符有多少个和同位置&&同字符的字符个数有多少个)
- 计算字符串中某一个字符的个数
- 查找字符串中相同的最大字符和个数
- 计算textarea中字符个数
- 匹配一个2个相邻并且相同的字符
- HWOJ 计算字符的个数
- 将字符串中连续相同的字符表达成字符加个数的形式输出
- ACdream 计算最长连续相同字符的个数
- 计算字符串中含有的某个字符的个数
- 计算字符串中汉字和全角字符的个数
- C#实例之计算字符串中不同字符的个数
- 华为机考题 002计算字符串中字符的个数
- 计算一条语句中字母,数字,字符的个数
- 脚本 Tips
- 求最大公因数的经典算法:Euclid辗转相除法
- java鬼混笔记:springboot 6、springboot整合mybatis(支持多数源)
- linux shell 运行jar 脚本不退出
- (学习java)顺序栈实现逆波兰表达式
- 计算字符中相邻位置相同字符的个数
- hdu5119(dp)
- 水池数目
- 数据分析(二)
- angular+ionic开发的页面,当子页面需要从父组件带参进入又需要可以脱离父组件进入,怎么配置?
- centos 7 安装 python 3 虚拟环境
- openresty图片上传
- Java学习:trim()函数、split()函数
- Java Web项目第二次总结