各文字の出現順を調べたいと思います。文字の出現数を順番に返します
たとえば、入力用abcddec
出力はa1b1c1d1d2e1c2
する必要がありますが、私の コードは、私が行う必要がありますどのような変更a1b1c2d2e1c2
として私に出力を与えていますか?
package com.Java8;
public class Occurences {
public static void main(String[] args) {
String str = "abb";
char[] arr = str.toCharArray();
String result = "";
for (int i = 0; i < arr.length; i++) {
int count = 0;
for (int j = 0; j < arr.length; j++) {
if (arr[i] == arr[j]) {
count++;
}
}
result = result + arr[i] + count;
}
System.out.println(result);
}
}
文字列全体を繰り返し処理する必要はありません。実際にはforループは1つだけ必要です。遭遇した文字の出現を保存するだけです。 –
こちらもご覧ください - http://stackoverflow.com/questions/275944/java-how-do-i-count-the-number-of-occurrences-of-a-char-in-a-string – sash