编程实现统计连续重复字符的数量

复制代码
package com.example.demo.reflact;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
import java.util.TreeMap;

public class A {
    public static void main(String[] args) {
        //// 编程实现统计连续重复字符的数量。
        //// 例如:输入一个字符串“bbb2aaccbycza”,输出为“b32a2c2bycza”

        String str ="bbb2aaccbycza";
        // 利用StringBuffer变量字符串接受结果
        StringBuffer sb = new StringBuffer();

        char element = str.charAt(0);
        int count=1;
        for(int i=1;i<str.length();i++) {
            if(element==str.charAt(i)) {
                count++;
            }else {
                //当读到另一个不一样的字符的时候,再拼接之前统计的字符
                sb.append(element);
                //如果统计数量为1的时候不输出统计数量
                sb.append(count==1 ? "" :count);
                element = str.charAt(i);
                count=1;
            }
        }
        // 保证当最后一个字符和统计的数量都拼接上
        sb.append(element);
        sb.append(count==1 ? "" :count);
        System.out.println(sb);
    }
}
复制代码

 

posted @   不死码农  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示