首页 > 解决方案 > 如何将多个字符添加到字符数组中的一个索引?

问题描述

我目前正在尝试创建一个函数,其中我的输入是一个字符串,例如“AABBCCDDEE”,该函数输出一个字符串数组“AA”“BB”“CC”等等。

    public static char[] stringSplitter(final String input) {

            String[] strarray = new String[input.length()];
            if (input == null) {
                return null;
            }
            char[] chrarray = input.toCharArray();
            char[] outputarray = new char[input.length()];
            int j = 0;
            for (int i = 0; i < chrarray.length; i++) {
                char chr = chrarray[i];
                System.out.print(chr);
                outputarray[j] = chrarray[i]; //here i need to find a way to add the characters to the index at j if the preceding characters are equal
                if (i + 1 < input.length() && chrarray[i + 1] != chr) {
                    j++;
                    outputarray[j] = chrarray[i + 1];
                    System.out.println(" ");
                }
            }
}

标签: javaarraysstringcharacter

解决方案


数组是固定长度的,因此您不能对数组执行此操作,除非您预先分配一个有足够额外空间的数组(这需要通过字符串来找出您需要多少额外空间)。

相反,请考虑使用 aStringBuilder作为输出,完成后您可以将其转换为char数组。


推荐阅读