2D Array mit unterschiedlicher länge befüllen?

3 Antworten

int[][] d = new int[4][4];

Du musst schon beides instanzieren.

Genaueres guckst du hier: https://stackoverflow.com/questions/12231453/syntax-for-creating-a-two-dimensional-array

Woher ich das weiß:Berufserfahrung – Freiberuflicher Java Entwickler mit 10 Jahren Erfahrung
Martin7 
Fragesteller
 16.05.2018, 19:40

Hm danke, :O Aber dann sage ich ja, das ist eine 4x4 Matrix, und dann werden die Spalten neu konfiguriert?

0
Martin7 
Fragesteller
 16.05.2018, 19:43
@Martin7

Irgendwo muss nochn Fehler sein.

0000

0

00

000

Ist die Ausgabe. Aber ich sollte in der zweiten Zeile 3 Elemente haben., in der 3. Zeile 2 und in der letzten 1

0

So geht es

public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[][] intArr = new int[4][4];
		
		for(int x = 0; x < intArr.length; x++) {
			for(int y = 0; y < intArr[x].length; y++) {
				System.out.print(intArr[x][y]);
			}
			System.out.println();
		}
	}

Bild zum Beitrag

Woher ich das weiß:Berufserfahrung – Freiberuflicher Java Entwickler mit 10 Jahren Erfahrung
 - (Computer, programmieren, Java)

https://en.wikipedia.org/wiki/Jagged_array

Um dem Kind mal einen Namen zu geben.

Meine Implementierung dazu steht weiter unten und deckt sich halbwegs mit deiner. Bei mir kommt keine Fehlermeldung ;)

int[][] test = new int[4][];
for(int i=0;i<test.length;i++){
    test[i] = new int[i+1];
}
for(int i=0;i<test.length;i++){
    for(int j=0;j<test[i].length;j++){
        System.out.print(test[i][j]);
    }
    System.out.println();
}
Etter  16.05.2018, 21:51

Dein Fehler liegt an folgender Stelle:

d[i] = new int[i];

Du gehst von 3 bis 0 und hast somit eine Verschiebung um 1.

d[i] = new int[i+1];

Das sollte es korrigieren.

0