Java 数组-跟踪用户输入的频率数

Java 数组-跟踪用户输入的频率数,java,arrays,Java,Arrays,我计划了一个简单的程序,从用户那里获取10int,如果用户输入相同的数字,它将被添加到一个新的数组中,称为Frequency 例如,用户输入[1,5,2,1,5,7,8,4,5,9],频率数组将是[2,3,1,2,3,1,1,1,3,1] 这是我到目前为止尝试过的,但我没有成功地完成这项工作 int[] arr = new int [10]; Scanner s = new Scanner(System.in); for(int i = 0; i< arr.length; i++)

我计划了一个简单的程序,从用户那里获取10
int
,如果用户输入相同的数字,它将被添加到一个新的
数组中,称为Frequency

例如,用户输入
[1,5,2,1,5,7,8,4,5,9]
,频率数组将是
[2,3,1,2,3,1,1,1,3,1]

这是我到目前为止尝试过的,但我没有成功地完成这项工作

int[] arr = new int [10];
  Scanner s = new Scanner(System.in);
  for(int i = 0; i< arr.length; i++)
  {
     System.out.println("Enter upto 10 numbers:");
     arr[i] = s.nextInt();
  }
  int[] freq = new int[10];
  for(int i=0; i< arr.length; i++)
  {
    //Frequency Method    
  }


public static int frequency(int[] total)
{
  int count = 0;
     // lost from here 

  }
  return count;
}
int[]arr=newint[10];
扫描仪s=新的扫描仪(System.in);
对于(int i=0;i

感谢您的帮助。感谢您花费的时间和精力

在静态方法中,我将进行修改,使其采用
int[]total
int值
,在该方法中,创建一个名为counter的新
int
计数器,该计数器的值为0,并创建一个for循环,循环遍历
int[]total
并比较if
int[I]total==value
如果是,则将计数器增加一,然后
返回
计数器


完成频率设置后,创建另一个for循环,使用用户输入遍历数组,并在for循环中添加
freq[i]=frequency(arr,arr[i])将在频率数组中添加重复的数字。

为了好玩,下面是使用Java streams的单行解决方案:

int[] freq = Arrays.stream(arr).map(x->(int)Arrays.stream(arr).filter(y->x==y).count()).toArray();

感谢你没有张贴代码。将尝试此操作并向您提供更新