上传一下代码,仅此而已
问题:
代码:
import java.awt.event.ActionListener;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//读入字符串调用函数
String s = scanner.next();
Compress_String(s);
}
static void Compress_String(String s){
//转为字符串数组
char c[] = s.toCharArray();
int cnt = 1, len = c.length;
boolean isDigit = false;
//构造结果串以及滚动下标
StringBuffer res = new StringBuffer();
int pos = 0;
//遍历
for(int i = 1; i < len; i++){
//数字判断
if(c[i] >= '0' && c[i] <= '9') isDigit = true;
//构造
if(c[i] == c[i-1]){
cnt++;
}else{
res.insert(pos++, c[i-1]);
res.insert(pos++, String.valueOf(cnt));
cnt = 1;
}
}
//尾处理
res.insert(pos++, c[len-1]);
res.insert(pos++, String.valueOf(cnt));
//输出结果
if(isDigit) System.out.println("error");
else{
if(res.length() > len) System.out.println(s);
else System.out.println(res);
}
}
}