Zahlen eines zweidimensionalen Arrays berechnen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Also einerseits verstehe ich nicht genau die Zahlen Zuweisung im Array (int[][] a = {{4,2}, {9,5,2}, {1}}) welches in main steht, müsste es nicht ({{4,2,1}, {9,5,2}}) sein damit es einem zweidimensionalem Array zugewiesen werden kann?

Nein, auch {{4,2}, {9,5,2}, {1}} ist ein 2D-Array - das erste innere Array hat zwei Elemente, das zweite hat drei und das dritte nur eines. Die einzelnen "inneren" Arrays müssen nicht die gleiche Anzahl an Elementen haben.

Zweidimensional bedeutet hierbei nicht die Anzahl der Elemente, sondern die "Tiefe" der Schachtelung

Und andererseits verstehe ich nicht die verschachtelte for-each Schleife, kann mir da jemand bitte genau schritt für schritt erklären was da passiert und wieso genau man das so machen muss?

Du musst es nicht so machen, du kannst es

Was der Code in der Schleife macht:

  • äußerer Schleifenkopf: er iteriert über das Array von Integer-Arrays "arr" und referenziert in jedem Durchlauf das momentane Integer-Array mit "a".
  • äußerer Schleifenkörper, innerer Schleifenkopf: er iteriert über das Array "a", nimmt jeden Integer-Wert aus diesem, referenziert diese mit "b" und arbeitet damit im Schleifenkörper
  • im Schleifenkörper der inneren Schleife wird "b" auf die aktuelle Summe addiert.
Kevin931 
Fragesteller
 22.03.2022, 23:52

Danke das hat mir sehr weitergeholfen

0
[
  [4, 2],
  [9, 5, 2],
  [1],
];

Klappt doch wunderbar. Wo siehst du da ein Problem?

Kevin931 
Fragesteller
 21.03.2022, 22:41

Ja eh es klappt ja, aber ich selbst verstehe den Code nicht ganz

0
DaMenzel  21.03.2022, 22:45
@Kevin931

Wo siehst Du denn eine For-Each Schleife? Ich sehe nur einen "mehrdimensionalen" Array - heißt das so? Keine Ahnung, aber For-Each ist eine Abfrage...

0
Kevin931 
Fragesteller
 21.03.2022, 22:42

Wieso kann man die Zahlen so zuweisen, wäre es dann nicht ein dreidimensionales Array?

0
xxxcyberxxx  21.03.2022, 22:43
@Kevin931
wäre es dann nicht ein dreidimensionales Array?

warum sollte es? Wo siehst du eine dritte Dimension?

0
FANTH0MAS  21.03.2022, 22:44
@Kevin931

Nein. Du kannst das ganze auch mit Achsen sehen.
Wenn du durch ein zweidimensionales Array iterierst, wäre die erste Schleife quasi die Y Achse und die innere Schleife die X Achse.

array[y][x] ---> array[1][1] ---> wäre in diesem Fall "5"

1