Ich habe eine int [] [] a, die sowohl positive als auch negative ganze Zahlen enthält. Ich möchte nur die positiven ganzen Zahlen in ein anderes Array kopieren, int [] [] result. Hier ist mein Versuch:Wie entferne ich Platzhalterwerte aus einem zweidimensionalen Array in Java?
for(int r = 0; r < a.length; r ++)
{
int aC = 0;
for(int resC = 0; resC < result[r].length; resC++)
{
while (a[r][aC] < 0)
{
aC++;
}
result[r][resC] = a[r][aC];
aC++;
}
}
Wenn ich das Programm führen Sie es auf Linie abstürzt 6 zitierte einen java.lang.ArrayIndexOutOfBoundsException: 3
Fehler. Wenn ich den Debugger laufe, kann ich sehen, dass es so lange wie r = 0 funktioniert.
Ich fühle mich wie ich vermisse etwas offensichtlich, aber nachdem ich es für eine Stunde starrte ich immer noch nicht das Problem finden kann.
Aber wenn während (a [r] [AC] <0) nicht wäre nicht das Programm Voraus zu führen [r] [RESC] = a [r] [aC];? Ich hatte den Eindruck, dass der Fehler, den ich erhielt, darauf hinwies, dass ich einen Wert anrufe, wo es keinen gab. Könnten Sie bitte Ihre Antwort klären? Vielen Dank. – user6329147
Wenn der Wert von 'aC' größer ist als die Länge des Unterarrays a [r], wird eine ArrayIndexOutOfBoundsException ausgelöst - das ist, was ich unter' no bounds checking' verstehe –