java基础小练习3
题目描述:字符串压缩, 将原字符串中连续出现的字符,按照出现次数进行压缩处理。
例如:输入:AACBBBDDDDDFFX 输出:A2C1B3D5F2X1
public class Demo03 {
public static void main(String[] args) {
String result=compressionString("AACBBBDDDDDFFX");
System.out.println(result);
}
public static String compressionString(String str) {
//默认每个字符出现的次数为1
int count=1;
//遍历该字符串
for(int i=0;i<str.length();i++) {
//用c保存i下标处的字符
char c=str.charAt(i);
//判断i是否已经是字符串的最后一个字符
if(i==str.length()-1) {
System.out.println(c+""+count);
break;
}
//用c1保存i+1下标处的字符
char c1=str.charAt(i+1);
//如果相邻的字符相等
if(c==c1) {
//该字符出现的次数加1
count++;
}else {//否则输出字符和次数
System.out.print(c+""+count);
//将次数归1,用于计算下一个字符
count=1;
}
}
return "";
}
}
输出结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210206143321209.png)