char [] array = {a,a,a,b,b,c,c,c,a,d};
その配列内のすべての同じ要素をカウントして、最も高い頻度から最も低い頻度に並べ替えることができます。出力を次のようにしたいと思います。
4 (for a)
2 (for b)
3 (for c)
1 (for d)
私はこれを試しました
public static void CountbyChar(String s){
int [] arr = new int [s.length()];
char [] c =s.toCharArray();
for (int i=0;i<c.length;i++){
arr[i]=1;
for (int j=i+1;j<c.length;j++){
if(c[i]==c[j]){
arr[i]++;
}
}
}
for (int x:arr){
System.out.println(x);
}
}
しかし、私は得ました:
4
3
2
2
1
2
1
1
私のせいはどこですか?