これは私のコードです。文字列の連続した繰り返しの出現をカウントします。
public static void countContinuosOccurence() {
String first = "ABBCDDDEFGGH";
StringBuffer result = new StringBuffer();
int count = 1;
for (int i = 1; i < first.length(); i++) {
if (first.charAt(i) == (first.charAt(i - 1))) {
count++;
} else {
if (count > 1) {
result.append(String.valueOf(count) + first.charAt(i - 1));
} else {
result.append(first.charAt(i - 1));
}
count = 1;
}
}
System.out.println("First String is:"+ first);
System.out.println("Result is:" + result);
}
結果は次のとおりです。
First String is:ABBCDDDEFGGH
Result is:A2BC3DEF2G
それは最後の文字が欠けていますか?誰かが私にこれを解決するのを助けてもらえますか
文字列が常に同じ文字を順番に並べるようにするのは適切な仮定ですか? – Sanchit
ループは1ではなく0で始めるべきですか? – danielbeard
@ダニエルビアード:いいえ、最初の文字を 'first.charAt(i - 1)'で処理しているので、1から始まるループは問題ありません。最後の実行の 'count'と* character *は' result'に追加されません。 –