Hallo,
hab ein kleines problem:
ich bekomme hier ständig eine ArrayIndexOutOfBoundsException, was ich seltsam finde, da an dieser stelle(während der überprüfung der inneren if bedingung) doch garnicht aufs array zugegriffen wird, nur auf die length - werte. Ich weis dank debugging ziemlich genau, dass die anweisung im if-block nicht erreicht wird, ausserdem hatte ich sie auch schon auskommentiert, die Exception kam trotzdem.
Die variable xi erreicht wohl einen wert, der grösser als die länge des arrays ist, aber trotzdem sollte es doch so keine exception geben, oder?
hab ein kleines problem:
Code:
double val = 0.0;
for(int i = 0; i<cInputVal.length; i++){
int ya = 0;
for(int yi = ycell-recepFieldSize/2; yi<(ycell+(recepFieldSize/2)); yi++){
int xa = 0;
for(int xi = xcell-recepFieldSize/2; xi<(xcell+(recepFieldSize/2)); xi++){
if((xi >= 0 && yi >= 0)){
//Hier wird die Exception geworfen
if((xi < cInputVal[0].length) && (yi < cInputVal[0][0].length)){
val += (cInputVal[i][xi][yi]*cInputVal[i][xi][yi])*weights[xa][ya];
}
}
xa++;
}
ya++;
}
}
ich bekomme hier ständig eine ArrayIndexOutOfBoundsException, was ich seltsam finde, da an dieser stelle(während der überprüfung der inneren if bedingung) doch garnicht aufs array zugegriffen wird, nur auf die length - werte. Ich weis dank debugging ziemlich genau, dass die anweisung im if-block nicht erreicht wird, ausserdem hatte ich sie auch schon auskommentiert, die Exception kam trotzdem.
Die variable xi erreicht wohl einen wert, der grösser als die länge des arrays ist, aber trotzdem sollte es doch so keine exception geben, oder?