public class yasuo {
/**
* @param args
* 实现简易字符串压缩算法:一个长度最大为128的字符串,
* 由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,
* 以达到压缩目的。
* 输入:AAAABBBB
* 输出:A4B4
*/
public static String test(String input){
String output = "0";
int length = input.length();
int i = 0;
while(i<length){
char a = input.charAt(i); //取字符串中的字符
int number = 1;
for(int j = i+1; j < length; j++ )
{
char b = input.charAt(j);
if(b == a){
number++;
}
else{
break;
}
}
if(number > 1){
output = output+a+Integer.toString(number);
}else{
output = output + a;
}
i = i+number;
}
output = output.substring(1,output.length());
return output;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String a ="AAAABBBBCCCCccccddddeeaxckoiiiii";
String output =test(a);
System.out.println(output);
}
}
输出的结果为
A4B4C4c4d4e2axckoi5