Iteratie in Tweedimensionale Array
Hoe te itereren binnen een tweedimensionale array met een for-lus?
Itereren door een tweedimensionale array kan in het begin lastig te begrijpen zijn, dus maak je geen zorgen als het niet direct duidelijk is. In dit hoofdstuk wordt getoond hoe dit werkt en wordt de werking uitgelegd.
Er wordt gebruikgemaakt van een geneste lus om door een tweedimensionale array te itereren, oftewel een lus binnen een andere lus. De buitenste lus itereert over de rijen, terwijl de binnenste lus itereert over de kolommen. Bekijk de syntaxis voor het itereren door een tweedimensionale array met het voorbeeldarray uit het vorige hoofdstuk:
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(); } } }
Laten we de betekenis van elk element in de bovenstaande codefragment nader bekijken:
int[][] twoDimensionalArray =: deze regel initialiseert een tweedimensionale array;for (int i = 0; i < twoDimensionalArray.length; i++): de eerste for-lus doorloopt de rijen van onze matrix. Terwijl we op de eerste rij zijn, betreedt ons programma de geneste lus, wat geen invloed heeft op de buitenste lus. De variabeleigeeft het huidige rijnummer aan;for (int j = 0; j < twoDimensionalArray[0].length; j++): de tweede for-lus doorloopt de kolommen van de matrix. Terwijl we op de 0e rij zijn, doorlopen we de kolommen van die rij. De variabelejgeeft het huidige kolomnummer aan;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, doorlopen we de kolommen van die rij. Bijvoorbeeld,array[0][1], gevolgd doorarray[0][2], enzovoort. We gaan door met 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.
Swipe to start coding
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:
- Itereer over 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 alle stations (rijen) te doorlopen.
- 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.
Geweldig!
Completion tarief verbeterd naar 2.7
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 lastig te begrijpen zijn, dus maak je geen zorgen als het niet direct duidelijk is. In dit hoofdstuk wordt getoond hoe dit werkt en wordt de werking uitgelegd.
Er wordt gebruikgemaakt van een geneste lus om door een tweedimensionale array te itereren, oftewel een lus binnen een andere lus. De buitenste lus itereert over de rijen, terwijl de binnenste lus itereert over de kolommen. Bekijk de syntaxis voor het itereren door een tweedimensionale array met het voorbeeldarray uit het vorige hoofdstuk:
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(); } } }
Laten we de betekenis van elk element in de bovenstaande codefragment nader bekijken:
int[][] twoDimensionalArray =: deze regel initialiseert een tweedimensionale array;for (int i = 0; i < twoDimensionalArray.length; i++): de eerste for-lus doorloopt de rijen van onze matrix. Terwijl we op de eerste rij zijn, betreedt ons programma de geneste lus, wat geen invloed heeft op de buitenste lus. De variabeleigeeft het huidige rijnummer aan;for (int j = 0; j < twoDimensionalArray[0].length; j++): de tweede for-lus doorloopt de kolommen van de matrix. Terwijl we op de 0e rij zijn, doorlopen we de kolommen van die rij. De variabelejgeeft het huidige kolomnummer aan;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, doorlopen we de kolommen van die rij. Bijvoorbeeld,array[0][1], gevolgd doorarray[0][2], enzovoort. We gaan door met 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.
Swipe to start coding
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:
- Itereer over 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 alle stations (rijen) te doorlopen.
- 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