Hallo Liebe Community,
wie im Titel beschrieben geht es hierbei nicht um eine genaue Aufgabenstellung, sondern eher um das grundlegende Verständnis.
In einer Hausaufgabe muss ich mit 2-dimensionalen Arrays arbeiten und eine Methode rekursiv aufrufen. Ich habe mich gestern den ganzen Tag mit Arrays und Rekursionen beschäftigt, nur leider kann ich dieses Wissen nicht bei mehrdimensionalen Arrays anwenden. Auch google/Foren Suche brachte mich nicht weiter...
Deshalb habe ich mir heute selbst eine kleine Aufgabe gestellt um Schritt für Schritt die Vorgehensweise von Java nachvollziehen zu können.
Mein kleines Programm soll mir eine 3x3 Matrix auf der Konsole ausgeben. Mit einer verschachtelten for-Schleife klappt das auch, das Ergebnis sieht so aus :
Danach versuche ich das gleiche rekursiv zu lösen mit folgendem Code und Ergebnis :
Die Ausgabe sieht dann aber komplett anders aus :
Ich hoffe es kann mir jemand helfen geben und Ihr entschuldigt, dass ich den Code nicht farblich markiert habe(wusste nicht wie dies funktioniert)
Herzlichen Dank,
Blacktycho
wie im Titel beschrieben geht es hierbei nicht um eine genaue Aufgabenstellung, sondern eher um das grundlegende Verständnis.
In einer Hausaufgabe muss ich mit 2-dimensionalen Arrays arbeiten und eine Methode rekursiv aufrufen. Ich habe mich gestern den ganzen Tag mit Arrays und Rekursionen beschäftigt, nur leider kann ich dieses Wissen nicht bei mehrdimensionalen Arrays anwenden. Auch google/Foren Suche brachte mich nicht weiter...
Deshalb habe ich mir heute selbst eine kleine Aufgabe gestellt um Schritt für Schritt die Vorgehensweise von Java nachvollziehen zu können.
Mein kleines Programm soll mir eine 3x3 Matrix auf der Konsole ausgeben. Mit einer verschachtelten for-Schleife klappt das auch, das Ergebnis sieht so aus :
Code:
public static void main(String[] args) {
String[][] array = new String [3][3];
for(int i = 0 ; i<array.length;++i){
for (int j = 0; j< array[0].length;++j){
array[i][j]= " Zeile :" +i+ " Spalte :" +j;
}
System.out.println();
}
}
}
Code:
Zeile :0 Spalte :0 Zeile :0 Spalte :1 Zeile :0 Spalte :2
Zeile :1 Spalte :0 Zeile :1 Spalte :1 Zeile :1 Spalte :2
Zeile :2 Spalte :0 Zeile :2 Spalte :1 Zeile :2 Spalte :2
Danach versuche ich das gleiche rekursiv zu lösen mit folgendem Code und Ergebnis :
Code:
public class arraytest {
static void arrayRekursiv (String [][] a , int indexZeile, int indexSpalte){
if (indexZeile == a.length || indexSpalte == a[0].length){
return;
}
a[indexZeile][indexSpalte] = "Zeile :" +indexZeile+ "Spalte :" +indexSpalte;
System.out.print(a[indexZeile][indexSpalte]);
System.out.println();
arrayRekursiv(a,indexZeile,indexSpalte+1);
arrayRekursiv(a,indexZeile +1 ,indexSpalte);
}
public static void main(String[] args) {
String[][] array = new String [3][3];
arrayRekursiv(array,0,0);
}
Die Ausgabe sieht dann aber komplett anders aus :
Code:
Zeile :0Spalte :0
Zeile :0Spalte :1
Zeile :0Spalte :2
Zeile :1Spalte :2
Zeile :2Spalte :2
Zeile :1Spalte :1
Zeile :1Spalte :2
Zeile :2Spalte :2
Zeile :2Spalte :1
Zeile :2Spalte :2
Zeile :1Spalte :0
Zeile :1Spalte :1
Zeile :1Spalte :2
Zeile :2Spalte :2
Zeile :2Spalte :1
Zeile :2Spalte :2
Zeile :2Spalte :0
Zeile :2Spalte :1
Zeile :2Spalte :2
Ich hoffe es kann mir jemand helfen geben und Ihr entschuldigt, dass ich den Code nicht farblich markiert habe(wusste nicht wie dies funktioniert)
Herzlichen Dank,
Blacktycho