Java 创建直方图方法 有人可以帮助我理解这段代码吗?

Java creating histogram method can someone help me to understand this code?

public class Library {
    
    public static int[] histogram(int a[],int M) {
        int[] newArr = new int[M];
        
        //Fill the new array
        try {
        if(a.length<M)
            System.out.println("Array lenght should be "
                    + "bigger than the number");
        else
            
            for(int i = 0; i < a.length; i++){
                int count = a[i];
                
                newArr[count] ++;
            }
        
        }
        catch (Exception e) {
            // TODO: handle exception
            System.out.println(e.getMessage());
        }
        
        //return the array
        return newArr;
    }
    
    public void printArray(int s[]) {
        int position = 0;
        for (int i = 0; i < s.length; i++) {
            System.out.print(position+" ");
            position++;
        }
        System.out.println();
        
        for (int i = 0; i < s.length; i++) {
            System.out.print(s[i]+" ");
        }
    }
    
    
    
    public static void main(String[] args) {
        
        Library l1 = new Library();
        
        int J = 5;
        int[] w = {1,2,0,1,2,3};
        
        l1.printArray(histogram(w,J));
        
    }
}

我写了这个和我从 google 和其他来源看到的一些部分,但我无法理解 public static int[] histogram

中的其他部分
        else
            
            for(int i = 0; i < a.length; i++){
                int count = a[i];
                
                newArr[count] ++;
            }

这个newArr[count]++是怎么算的;有人可以向我解释一下吗

` How does this newArr[count] ++; works can someone explain to me, please

这一行发生了两件事。

  1. 我们从 newArr 数组中获取对位置 count 中值的引用。
  2. 我们将它加 1。

因此,如果您有数组 newArr = [1,2,3],调用 newArr[0]++ 将导致您的 newArr 状态为 [2,2,3]

如果仍有不清楚的地方,请对此答案发表评论。