Hallo,
ich soll ein Java Programm schreiben, welches die Determinante einer nxn Matrix rekursiv berechnet.
Dazu habe ich ein Programm geschrieben, allerdings funktioniert dieses nicht wie ich es geplant habe, wenn ich eine beliebige 2x2 Matrix eingebe, bricht das Programm mit folgender Fehlermeldung ab:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Determinante1.det(Determinante1.java:40)
at Determinante1.main(Determinante1.java:78)
Ich vermute, dass es irgendwo noch einen kleinen Bug gibt, den ich aber auch nach langer Suche nicht gefunden habe. Das Programm soll bei jedem rekursivem Aufruf der Methode beim erreichen der for Schleife in Zeile 27 die Matrix m2 um eins verkleinern und ich glaube, dass mein Programm dieses aus einem mir unbekannten Grund einmal zu viel macht (nachdem i beim 2. Durchlauf auf 1 gesetzt wurde), weswegen später versucht wird auf eine 0x0 Matrix zuzugreifen, was zu dem Fehler von oben führt.
Alternativ kann es auch ein Problem beim Übergeben der Matrizen in 78 und 49 geben, vielleicht funktioniert das mit der Übergabe nicht so, wie ich vermute.
Vielleicht findet jemand den Fehler, vielen Dank!
ich soll ein Java Programm schreiben, welches die Determinante einer nxn Matrix rekursiv berechnet.
Dazu habe ich ein Programm geschrieben, allerdings funktioniert dieses nicht wie ich es geplant habe, wenn ich eine beliebige 2x2 Matrix eingebe, bricht das Programm mit folgender Fehlermeldung ab:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Determinante1.det(Determinante1.java:40)
at Determinante1.main(Determinante1.java:78)
Ich vermute, dass es irgendwo noch einen kleinen Bug gibt, den ich aber auch nach langer Suche nicht gefunden habe. Das Programm soll bei jedem rekursivem Aufruf der Methode beim erreichen der for Schleife in Zeile 27 die Matrix m2 um eins verkleinern und ich glaube, dass mein Programm dieses aus einem mir unbekannten Grund einmal zu viel macht (nachdem i beim 2. Durchlauf auf 1 gesetzt wurde), weswegen später versucht wird auf eine 0x0 Matrix zuzugreifen, was zu dem Fehler von oben führt.
Alternativ kann es auch ein Problem beim Übergeben der Matrizen in 78 und 49 geben, vielleicht funktioniert das mit der Übergabe nicht so, wie ich vermute.
Vielleicht findet jemand den Fehler, vielen Dank!