Hallo Leute,
ich habe folgendes Problem: ich will eine Methode schreiben, die aus einer eingegebenen quadratischen Matrix eine neue ohne die Zeile Z und die Spalte S erstellt. Dafür habe ich zwei Methoden geschrieben, die meiner Meinung nach das gleiche tun sollten, nur funktioniert nur eine davon, bei der anderen erhalte ich eine OufOfBoundsException. Kann mir jemand sagen wo der Fehler liegt?
1. Die funktionierende Methode:
2. Die Methode mit dem Überlauf:
Vielen Dank schonmal,
Gandrosh
ich habe folgendes Problem: ich will eine Methode schreiben, die aus einer eingegebenen quadratischen Matrix eine neue ohne die Zeile Z und die Spalte S erstellt. Dafür habe ich zwei Methoden geschrieben, die meiner Meinung nach das gleiche tun sollten, nur funktioniert nur eine davon, bei der anderen erhalte ich eine OufOfBoundsException. Kann mir jemand sagen wo der Fehler liegt?
1. Die funktionierende Methode:
Java:
public static int[][] neu(int Z, int S, int[][]alt) {
int[][] neu = new int[alt.length-1][alt.length-1];
int zSprung = 0;
int sSprung = 0;
for (int zeile = 0; zeile < neu.length; zeile++) {
if (zeile == Z) zSprung = 1;
sSprung = 0;
for (int spalte = 0; spalte < neu.length; spalte++) {
if (spalte == S) sSprung = 1;
neu[zeile][spalte] = alt[zeile+zSprung][spalte+sSprung];
}
}
}
Java:
public static int[][] neu(int Z, int S, int[][] alt) {
int[][] neu = new int[alt.length-1][alt.length-1];
int zSprung = 0;
int sSprung = 0;
int zeile = 0;
int spalte = 0;
while (zeile < neu.length) {
if (zeile == Z) zSprung = 1;
sSprung = 0;
zeile++;
while (spalte < neu.length) {
if (spalte == S) sSprung = 1;
neu[zeile][spalte] = alt[zeile+zSprung][spalte+sSprung];
spalte++;
}
}
}
Gandrosh
Zuletzt bearbeitet von einem Moderator: