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
我的错在哪里?