Java 需要帮助创建一个范围内随机生成的数字数组,然后显示该范围内每个数字的频率吗

Java 需要帮助创建一个范围内随机生成的数字数组,然后显示该范围内每个数字的频率吗,java,arrays,random,frequency,Java,Arrays,Random,Frequency,正如标题所暗示的那样,我在编写可以按要求执行的代码时遇到了困难。我得到的是: public static void main(String[] args) { int[] runs = new int[24]; for(int i = 0; i < runs.length; i++) { runs[i] = (int)(Math.random()*3 + 1); int count = 1; for

正如标题所暗示的那样,我在编写可以按要求执行的代码时遇到了困难。我得到的是:

public static void main(String[] args) {
       int[] runs = new int[24];  
       for(int i = 0; i < runs.length; i++) {
          runs[i] = (int)(Math.random()*3 + 1);
          int count = 1;
          for (int j = i+1; j<i;j++) {
              if (runs[i] == runs[j]) {
                  count++;
              }
          }
          System.out.println(runs[i] + " " + count);          
        }   
   }
publicstaticvoidmain(字符串[]args){
int[]运行=新的int[24];
for(int i=0;iint count1=0;
int count2=0;
int count3=0;
int count4=0;
for(int i=0;i
我上面提供的代码块应该可以工作。代码的问题之一是,在搜索数组以查找每个数字的频率之前,您没有生成数组中的所有数字。此外,代码嵌套循环中的代码块无法完成查找每个数字频率的任务是的


我在这里所做的是,它通过循环并为数组中的每个空格分配一个随机数。并且,每次分配一个随机数时,它还通过一系列条件语句来计算或增加范围内每个数字的频率。

请记住Java!==JavaScript,所以从下次开始,请使用适当的标记。看起来好像您正在尝试在生成所有值之前查找某个值的频率。
int count1 = 0;
int count2 = 0;
int count3 = 0;
int count4 = 0;    

for(int i = 0; i < runs.length; i++) {
     runs[i] = (int)(Math.random()*3 + 1);
     if (runs[i] == 1) {
         count1++;
     } else if (runs[i] == 2) {
         count2++;
     } else if (runs[i] == 3) {
         count3++;
     } else {
         count4++;
     }
}


System.out.println("1's Frequency is: " + count1);
System.out.println("2's Frequency is: " + count2);
System.out.println("3's Frequency is: " + count3);
System.out.println("4's Frequency is: " + count4);