定义一个一维数组并初始化,计算数字出现的次数

我写的代码如下,输出的结果是不对的,但是不知道问题在哪里
public static void main(String[] args) {
int []number={1,2,3,2,3,3,3,4,5};
int times=0;//次数
for(int i=0;i<number.length;i++){
//System.out.println(number[i]);
for(int j=0;j<number.length;j++){
if(number[i]==number[j]){
//System.out.println(number[i]+" + "+number[j]);
times=times+1;
}
System.out.println(number[i]+" + "+times);
}
}

public static void main(String[] args) {
int []number={1,2,3,2,3,3,3,4,5};
int times=0;//次数
for(int i=0;i<number.length;i++){

//System.out.println(number[i]);
for(int j=0;j<number.length;j++){
if(number[i]==number[j]){
//System.out.println(number[i]+" + "+number[j]);
times=times+1;
}
System.out.println(number[i]+" + "+times);
times=0;//reset
}
}

感觉你这个思路不对,应该是想办法存储结果,而不是双重遍历。尽量一次遍历存储中间结果即可。