我试图在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