Java:计算2d数组中的出现次数,输出结果为1d数组

时间:2016-03-15 20:07:05

标签: java arrays multidimensional-array

我开始学习Java编程语言并尝试解决给定的任务

我正在尝试完成方法来计算2d数组中的出现次数并输出结果为1d

public static int[] histogram(int[][] a, int high) {
    // Please write your code after this line
    // init new array 
    int numOfRows = a.length;
    int numOfCols = a[0].length;
    int[] retVal = {};
    //main loop
    for (int o = 0; o < high; o++){
        //System.out.println(o);
        // go trough rows 
        for(int row = 0; row < numOfRows; row++ ){
            // check for colum values
            int count = 0;
            for(int col = 0; col < numOfCols; col++ ){

                if(a[row][col] = o ){
                    count++;
                }

            }
            retVal[o] = count; // Fixed typo 

        }


    }


    return retVal;
}

这是我的方法

我正在使用BlueJ IDE进行编译,当我编译时我得到错误 此行的“不兼容类型”

if(a [row] [col] = o)

我不知道为什么我会收到错误,在我的意见中[row] [col]是int类型? 而o也是int类型。

由于

2 个答案:

答案 0 :(得分:1)

var array =[[1,2,3,4],
            [2,3,4,5],
            [6,5,4,3],
            [4,3,2,1]];

var sum = 0;

array.forEach(a => a.forEach(b => sum+=b));

document.write(sum);

使用==运算符来检查相等性,所以最后它应该是

if(a[row][col] = o )

答案 1 :(得分:0)

if(a[row][col] = o ) // Assignment Operator

应该是

if(a[row][col] == o ) // Equality evaluator

Operators JavaDoc