我正在尝试在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;
}
答案 0 :(得分:0)
使用j<InputArray[i].length;
代替j<InputArray[h].length;
, j<InputArray[h].length;
可能会为您提供java.lang.ArrayIndexOutOfBoundsException