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