在java中设计一个方法,接收二维数组并对其中的每一列进行操作



我试图在java中设计一种方法,该方法接收2d数组并操纵其中的每个列。然后,保存此操作,而每个列将在返回数组中表示为一个值。我的问题是,我不知道,我怎么能单独阅读每一个专栏。你能推荐我吗?

int[] ibraMethod(int[][] InputArray){
    int[] Array_After_ibraMethod = new int[24]; 
    int APoints = 0;
    int BPoints = 0;
    int CPoints = 0;
    for(int h = 1; h < 24 ; h++){
        System.out.println("n Hour"+ h);
    for(int i = 0; i<InputArray.length; i++){
        for(int j = 0; j<InputArray[h].length; j++){
        if(InputArray[i][j]==1){
            APoints = APoints +3;
        }
        else if(InputArray[i][j]==-1){
            BPoints = BPoints +2;
        }
        else if(InputArray[i][j]==0){
            CPoints =  CPoints +1;
        }
        }
    }
    Array_After_ibraMethod[h] = Compare(APoints, BPoints, CPoints);
    }
    /// to print////
    System.out.println("n After ibraMethod");
    for (Integer i :Array_After_ibraMethod) {
        System.out.print(i.intValue() + " ");
    }
    return Array_After_ibraMethod;

}

这是比较函数代码

 Compare(int a, int b, int c) {
    int r;
    if ((a > b) && (a > c)) {
        r = 1;
        System.out.println("n A ");
    } else if ((b > a) && (b > c)) {
        r = -1;
        System.out.println("n B ");
    } else {
        r = 0;
        System.out.println("n C");
    }
    return r;
}

使用j<InputArray[i].length;而不是j<InputArray[h].length; 作为 j<InputArray[h].length;可能会给您java.lang.ArrayIndexOutOfBoundsException

相关内容

  • 没有找到相关文章

最新更新