可能重复:
Write a simple JAVA program to compress a string and decompress the string
我有一个问题,想知道如何检查一行中相同字符的字符串,然后计算一行中的相同字符然后将其打印出来,然后给出该字符计数的最后一次出现的位置然后将其打印出来然后移动到字符串中与下一个字符不同的下一个字符,该程序区分大小写。
所以输入可以是:aaaaAAAbbbddccc
我如何将此字符串压缩为:a4A3b3d2c3?然后解压缩?
答案 0 :(得分:1)
没有人在这里做你的作业所以请在提出问题之前先付出一些努力
AnyWay你只需要在String的每个索引处chk char然后计算将它添加到下一个。 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 );
}