Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Iteratie in Tweedimensionale Array | Arrays
Java Basisprincipes

bookIteratie 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

Main.java

copy
12345678910111213141516
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(); } } }

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 variabele i geeft 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 variabele j geeft het huidige kolomnummer aan;
  • System.out.print(twoDimensionalArray[i][j] + " "): in deze regel gebruiken we System.out.print om 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 door array[0][2], enzovoort. We gaan door met de kolommen zolang j kleiner is dan array[0].length. Zodra we array[0].length bereiken, 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.
Taak

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:

  1. Schrijf een methode genaamd calculateDailyAverages(int[][] temperatures) die een double[] retourneert.
  2. In deze methode:
    • Itereer over elke dag (kolommen van de 2D-array).
    • Initialiseer voor elke dag totalTemp om 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.
  3. Retourneer de array met gemiddelden.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 5
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

bookIteratie 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

Main.java

copy
12345678910111213141516
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(); } } }

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 variabele i geeft 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 variabele j geeft het huidige kolomnummer aan;
  • System.out.print(twoDimensionalArray[i][j] + " "): in deze regel gebruiken we System.out.print om 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 door array[0][2], enzovoort. We gaan door met de kolommen zolang j kleiner is dan array[0].length. Zodra we array[0].length bereiken, 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.
Taak

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:

  1. Schrijf een methode genaamd calculateDailyAverages(int[][] temperatures) die een double[] retourneert.
  2. In deze methode:
    • Itereer over elke dag (kolommen van de 2D-array).
    • Initialiseer voor elke dag totalTemp om 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.
  3. Retourneer de array met gemiddelden.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 5
single

single

some-alt