输入 :aabbcaa
输出 :2a2b1c2a
用java实现,怎么编程?
按顺序遍历,统计字符,并用 可变字符串进行追加
参考如下:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
StringBuilder output = new StringBuilder();
int count = 1;
char currChar = str.charAt(0);
for (int i = 1; i < str.length(); i++) {
if (str.charAt(i) == currChar) {
count++;
} else {
output.append(count);
output.append(currChar);
count = 1;
currChar = str.charAt(i);
}
}
output.append(count);
output.append(currChar);
System.out.println(output);
}
public static void main(String[] args) {
System.out.println("输入需要统计字符串");
Scanner scanner = new Scanner(System.in);
String input =scanner.next();
String result = calculateRepeatedCharacters(input);
System.out.println(result);
}
public static String calculateRepeatedCharacters(String input) {
StringBuilder output = new StringBuilder();
int count = 1;
for (int i = 0; i < input.length() - 1; i++) {
if (input.charAt(i) == input.charAt(i + 1)) {
count++;
} else {
output.append(count);
output.append(input.charAt(i));
count = 1;
}
}
output.append(count);
output.append(input.charAt(input.length() - 1));
return output.toString();
}