single
Iteratie in Tweedimensionale Array
Veeg om het menu te tonen
Hoe te itereren binnen een tweedimensionale array met een for-lus?
Itereren door een tweedimensionale array kan in het begin wat lastig zijn om te begrijpen, dus maak je geen zorgen als het niet direct duidelijk is. In dit hoofdstuk wordt uitgelegd hoe dit werkt en hoe je het kunt uitvoeren.
We gebruiken een geneste lus om door een tweedimensionale array te itereren, wat betekent een lus binnen een andere lus. De buitenste lus itereert over de rijen, terwijl de binnenste lus itereert over de kolommen. Laten we de syntaxis bekijken voor het itereren door een tweedimensionale array met behulp van de voorbeeldarray die we in het vorige hoofdstuk hebben gemaakt:
Main.java
12345678910111213141516package 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(); } } }
Hier is de betekenis van elk element in de bovenstaande codefragment:
int[][] twoDimensionalArray =: deze regel initialiseert een tweedimensionale array;for (int i = 0; i < twoDimensionalArray.length; i++): de eerste for-lus itereert over de rijen van onze matrix. Terwijl we op de eerste rij zijn, gaat ons programma de geneste lus in, wat geen invloed heeft op de buitenste lus. De variabeleivertegenwoordigt het huidige rijnummer;for (int j = 0; j < twoDimensionalArray[0].length; j++): de tweede for-lus itereert over de kolommen van de matrix. Terwijl we op de 0e rij zijn, lopen we door de kolommen van die rij. De variabelejvertegenwoordigt het huidige kolomnummer;System.out.print(twoDimensionalArray[i][j] + " "): in deze regel gebruiken weSystem.out.printom onze waarden op één regel weer te geven. Zo werkt het: terwijl we op de 0e rij zijn, lopen we door de kolommen van die rij. Bijvoorbeeld,array[0][1], gevolgd doorarray[0][2], enzovoort. We gaan door de kolommen zolangjkleiner is danarray[0].length. Zodra wearray[0].lengthbereiken, keren we terug naar de buitenste array en gaan we naar de eerste rij. Bijvoorbeeld,array[0][3] -> array[1][0]. We hebben onze grenzen bereikt en zijn vervolgens overgegaan naar rij 1.
Veeg om te beginnen met coderen
Bereken de gemiddelde temperatuur voor elke dag van de week op basis van gegevens van meerdere stations.
Je krijgt:
- 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}
Opdracht:
- Schrijf een methode genaamd
calculateDailyAverages(int[][] temperatures)die eendouble[]retourneert. - In deze methode:
- Loop door elke dag (kolommen van de 2D-array).
- Initialiseer voor elke dag
totalTempom de som van de temperaturen op te slaan. - Gebruik een interne lus om door alle stations (rijen) te gaan.
- Tel de temperaturen van elk station voor de huidige dag op.
- Deel het totaal door het aantal stations om het gemiddelde te berekenen.
- Sla het resultaat op in een array.
- Retourneer de array met gemiddelden.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.