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


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

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/282554.html

(0)
上一篇 2022年8月27日
下一篇 2022年8月27日

相关推荐

发表回复

登录后才能评论