Wenn ich versuche, rowNum = 2 und colNum = 2 in das 2d-Array übergeben, bekomme ich eine Ausnahme, wenn es falsch zurückgegeben werden soll, kann mir jemand dabei helfen?ArrayIndexOutOfBoundsException in einem 2d-Array
public boolean addPassenger(String passName, int rowNum, int colNum) {
boolean check = false;
System.out.println("row num: " + rowNum + " column num: " + colNum);
System.out.println("row length: " + p.length + " column length: " + p[0].length);
if (rowNum <= p.length && colNum <= p[0].length && rowNum >= 0 && colNum >= 0 && p[rowNum][colNum].getName().equals("")) {
p[rowNum][colNum] = new Passenger(passName, f);
check = true;
} else if (rowNum >= p.length || colNum >= p[0].length || !p[rowNum][colNum].getName().equals("")) {
check = false;
} else {
check = false;
}
return check;
}
Hier einige Ausgabe
run:
Welcome to blank Airlines
Enter a flight number:
R62
Enter the number of rows:
2
Enter the number of seats per row:
2
Enter add, remove, seats, list, or quit:
add
Enter passenger name, row, and seat:
me 0 0
row num: 0 column num: 0
row length: 2 column length: 2
Passenger me was added.
Enter add, remove, seats, list, or quit:
seats
| 0|| 1|
0| me|| |
1| || |
Enter add, remove, seats, list, or quit:
add
Enter passenger name, row, and seat:
you 2 2
row num: 2 column num: 2
row length: 2 column length: 2
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at csc212hw06.Plane.addPassenger(Plane.java:34)
at csc212hw06.Main.main(Main.java:61)
Java Result: 1
ist hier die Ausnahme
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at csc212hw06.Plane.addPassenger(Plane.java:34)
at csc212hw06.Main.main(Main.java:61)
Java Result: 1
Wenn jemand einige Vorschläge hat, würde es sehr geschätzt werden!
Verwenden Sie einen Debugger, den Sie im Grunde fragen Sie uns zu tun – redFIVE
Sie überprüfen 'rowNum <= p.length' und Zugriff' p [rowNum] '- was könnte das Problem dort sein? (In ähnlicher Weise für 'colNum') –