-1

可能重复:
写一个简单的JAVA程序来压缩一个字符串并解压这个字符串

我在弄清楚如何检查字符串中是否有连续的相同字符然后连续计算相同的字符然后打印出来然后给出该字符计数的最后一次出现的位置然后打印出来然后移动到字符串中与前一个字符不同的下一个字符,并且程序区分大小写。

所以输入可能是:aaaaAAAbbbddccc

我将如何将此字符串压缩为: a4A3b3d2c3 ?然后解压?

4

1 回答 1

1

没有人在这里做你的作业所以请在提出问题之前付出一些努力

无论如何你只需要在字符串的每个索引处检查字符,然后在计数后将其添加到下一个。String.charAt(indexNumber)方法可以帮助你:)
这是给你的示例代码

        String orginalString = "AAAaaaBBBbbb",
        compressedString = "";

        String found =Character.toString(orginalString.charAt(0));
        int counter = 0;
        for(int a=1;a<orginalString.length();a++){


            if(found.equals(Character.toString(orginalString.charAt(a))))
            {
                counter++;
            }
            else{

                compressedString = compressedString+(found+counter);
                counter =0;
                found = Character.toString(orginalString.charAt(a));
                a--;
            }
        }

        System.out.println("Here is you compressed String"+compressedString );
}
于 2012-11-14T05:00:04.243 回答