计算数组元素频率我想找到阵列元件的频率。像:没有重复
输入数组:
1,2,3,4,2,3,4,5,8
预期输出(位频率):
1 1
2 2
3 2
4 2
5 1
8 1
我的Java代码是:
class Fre
{
public static void main(String ar[])
{
frequencycount(new int[]{1,2,3,3,2,1,1,1,5,6,5,8,9,6});
}
static void frequencycount(int x[])
{
int i=0;
int j=0;
int fr[]=new int[x.length];
for(i=0;i<fr.length;i++) {
fr[i]=0;
}
/////calculating frequency
for(i=0;i<digit.length;i++) {
for(j=0;j<digit.length;j++) {
if(x[i]==x[j]) {
fr[i]++;
}
}
}
for(i=0;i<fr.length;i++) {
System.out.println(x[i]+" "+fr[i]);
}
}
}//class
与输出的问题是它是重复数组元素。像:
digit frequency:
1 1
2 2
3 2
4 2
2 2
3 2
4 2
7 1
8 1
我怎样才能得到所需的频率,而不重复数组元素?任何帮助将不胜感激。
想一想,什么是你的独特的价值观,当你迭代达到一个已经计数一次的值时会发生什么......还不知道你如何在每行打印这两个值。 – nullpointer
我想,而不是'X [I]'你应该打印'i' – 3stud1ant3
@ 3stud1ant3为什么呢? – user227666