,
private static int countOccur(char[] arr, int st, int end) {
final char ch = arr[st];
int count = 1;
for (; count < end - st; count++) {
if (ch != arr[st + count]) {
break;
}
}
return count;
}
codieren(String), String ( void, - , ),
static String codieren(String s) {
if (s == null) {
return null;
}
StringBuilder sb = new StringBuilder();
char[] a = s.toUpperCase().toCharArray();
for (int i = 0; i < a.length;) {
int occur = countOccur(a, i, a.length);
if (occur > 2) {
sb.append(a[i]).append(occur);
} else {
for (int t = 0; t < occur; t++) {
sb.append(a[i]);
}
}
i += occur;
}
return sb.toString();
}