Iteration in Zweidimensionalem Array
Wie wird in einem zweidimensionalen Array mit einer for-Schleife iteriert?
Das Durchlaufen eines zweidimensionalen Arrays kann anfangs etwas schwierig zu verstehen sein, daher ist es nicht schlimm, wenn es nicht sofort klar wird. In diesem Kapitel wird gezeigt, wie dies funktioniert und wie der Ablauf ist.
Es wird eine geschachtelte Schleife verwendet, um durch ein zweidimensionales Array zu iterieren, das heißt eine Schleife innerhalb einer anderen. Die äußere Schleife durchläuft die Zeilen, während die innere Schleife die Spalten durchläuft. Im Folgenden wird die Syntax zum Iterieren durch ein zweidimensionales Array anhand des Beispiel-Arrays aus dem vorherigen Kapitel betrachtet:
Main
package com.example; public class Main { public static void main(String[] args) { int[][] twoDimensionalArray = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16} }; for (int i = 0; i < twoDimensionalArray.length; i++) { for (int j = 0; j < twoDimensionalArray[0].length; j++) { System.out.print(twoDimensionalArray[i][j] + " "); } System.out.println(); } } }
Lassen Sie uns die Bedeutung jedes Elements im oben bereitgestellten Codeausschnitt erläutern:
int[][] twoDimensionalArray =
: Diese Zeile initialisiert ein zweidimensionales Array;for (int i = 0; i < twoDimensionalArray.length; i++)
: Die erste For-Schleife iteriert über die Zeilen unserer Matrix. Während wir uns in der ersten Zeile befinden, betritt unser Programm die verschachtelte Schleife, was die äußere Schleife nicht beeinflusst. Die Variablei
steht für die aktuelle Zeilennummer;for (int j = 0; j < twoDimensionalArray[0].length; j++)
: Die zweite For-Schleife iteriert über die Spalten der Matrix. Während wir uns in der 0. Zeile befinden, iterieren wir durch die Spalten dieser Zeile. Die Variablej
steht für die aktuelle Spaltennummer;System.out.print(twoDimensionalArray[i][j] + " ")
: In dieser Zeile verwenden wirSystem.out.print
, um unsere Werte in einer einzigen Zeile anzuzeigen. So funktioniert es: Während wir uns in der 0. Zeile befinden, iterieren wir durch die Spalten dieser Zeile. Zum Beispielarray[0][1]
, gefolgt vonarray[0][2]
und so weiter. Wir fahren mit den Spalten fort, solangej
kleiner alsarray[0].length
ist. Sobald wirarray[0].length
erreichen, kehren wir zum äußeren Array zurück und wechseln zur ersten Zeile. Zum Beispiel,array[0][3] -> array[1][0]
. Wir haben unsere Grenzen erreicht und sind dann zur Zeile 1 übergegangen.
Swipe to start coding
Berechnung der durchschnittlichen Temperatur für jeden Wochentag basierend auf den Daten mehrerer Stationen.
Gegeben sind:
- Station 1:
{20, 22, 24, 19, 21, 23, 25}
- Station 2:
{18, 20, 22, 19, 20, 22, 24}
- Station 3:
{21, 23, 25, 22, 24, 26, 28}
- Station 4:
{19, 21, 23, 20, 22, 24, 26}
Aufgabe:
- Eine Methode mit dem Namen
calculateDailyAverages(int[][] temperatures)
schreiben, die eindouble[]
zurückgibt. - In dieser Methode:
- Über jeden Tag iterieren (Spalten des 2D-Arrays).
- Für jeden Tag
totalTemp
initialisieren, um die Summe der Temperaturen zu speichern. - Eine innere Schleife verwenden, um alle Stationen (Zeilen) zu durchlaufen.
- Die Temperaturen jeder Station für den aktuellen Tag aufsummieren.
- Die Gesamtsumme durch die Anzahl der Stationen teilen, um den Durchschnitt zu berechnen.
- Das Ergebnis in einem Array speichern.
- Das Array mit den Durchschnittswerten zurückgeben.
Lösung
solution
Danke für Ihr Feedback!