java字符串计算重复字符

输入 :aabbcaa
输出 :2a2b1c2a
用java实现,怎么编程?

按顺序遍历,统计字符,并用 可变字符串进行追加
参考如下:

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        StringBuilder output = new StringBuilder();
        int count = 1;
        char currChar = str.charAt(0);
        for (int i = 1; i < str.length(); i++) {
            if (str.charAt(i) == currChar) {
                count++;
            } else {
                output.append(count);
                output.append(currChar);
                count = 1;
                currChar = str.charAt(i);
            }
        }
        output.append(count);
        output.append(currChar);
        System.out.println(output);
    }

img

   public static void main(String[] args) {
        System.out.println("输入需要统计字符串");
        Scanner scanner = new Scanner(System.in);

        String input =scanner.next();
        String result = calculateRepeatedCharacters(input);
        System.out.println(result);
    }

    public static String calculateRepeatedCharacters(String input) {
        StringBuilder output = new StringBuilder();
        int count = 1;

        for (int i = 0; i < input.length() - 1; i++) {
            if (input.charAt(i) == input.charAt(i + 1)) {
                count++;
            } else {
                output.append(count);
                output.append(input.charAt(i));
                count = 1;
            }
        }

         output.append(count);
        output.append(input.charAt(input.length() - 1));

        return output.toString();
    }