Iterasjon i Todimensjonalt Array
Hvordan iterere i et todimensjonalt array ved bruk av for-løkke?
Å iterere gjennom et todimensjonalt array kan være litt utfordrende å forstå i starten, så ikke bekymre deg hvis det ikke gir mening med en gang. I dette kapittelet vil jeg vise hvordan det gjøres og forklare hvordan det fungerer.
Vi bruker en nøstet løkke for å iterere gjennom et todimensjonalt array, altså en løkke inni en annen. Den ytre løkken itererer over radene, mens den indre løkken itererer over kolonnene. La oss se på syntaksen for å iterere gjennom et todimensjonalt array ved å bruke eksempel-arrayet vi opprettet i forrige kapittel:
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(); } } }
La oss se nærmere på betydningen av hvert element i kodeeksempelet ovenfor:
int[][] twoDimensionalArray =: denne linjen initialiserer et todimensjonalt array;for (int i = 0; i < twoDimensionalArray.length; i++): den første for-løkken itererer over radene i matrisen. Når vi er på første rad, går programmet inn i den nestede løkken, som ikke påvirker den ytre løkken. Variabelenirepresenterer gjeldende radnummer;for (int j = 0; j < twoDimensionalArray[0].length; j++): den andre for-løkken itererer over kolonnene i matrisen. Når vi er på rad 0, itererer vi gjennom kolonnene i den raden. Variabelenjrepresenterer gjeldende kolonnenummer;System.out.print(twoDimensionalArray[i][j] + " "): i denne linjen bruker viSystem.out.printfor å vise verdiene våre på én linje. Slik fungerer det: Når vi er på rad 0, itererer vi gjennom kolonnene i den raden. For eksempel,array[0][1], etterfulgt avarray[0][2], og så videre. Vi fortsetter gjennom kolonnene så lengejer mindre ennarray[0].length. Når vi nårarray[0].length, går vi tilbake til det ytre arrayet og fortsetter til første rad. For eksempel,array[0][3] -> array[1][0]. Vi har nådd grensene våre og har deretter gått videre til rad 1.
Swipe to start coding
Beregn gjennomsnittstemperaturen for hver ukedag basert på data fra flere stasjoner.
Du har fått:
- Stasjon 1:
{20, 22, 24, 19, 21, 23, 25} - Stasjon 2:
{18, 20, 22, 19, 20, 22, 24} - Stasjon 3:
{21, 23, 25, 22, 24, 26, 28} - Stasjon 4:
{19, 21, 23, 20, 22, 24, 26}
Oppgave:
- Skriv en metode kalt
calculateDailyAverages(int[][] temperatures)som returnerer endouble[]. - I denne metoden:
- Gå gjennom hver dag (kolonner i 2D-arrayen).
- For hver dag, initialiser
totalTempfor å lagre summen av temperaturene. - Bruk en indre løkke for å gå gjennom alle stasjoner (rader).
- Summer temperaturene fra hver stasjon for den aktuelle dagen.
- Del totalen på antall stasjoner for å finne gjennomsnittet.
- Lagre resultatet i et array.
- Returner arrayet med gjennomsnittene.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain why we need nested loops for two-dimensional arrays?
What happens if the inner loop uses the same variable as the outer loop?
Can you show an example with a different array size?
Fantastisk!
Completion rate forbedret til 2.7
Iterasjon i Todimensjonalt Array
Sveip for å vise menyen
Hvordan iterere i et todimensjonalt array ved bruk av for-løkke?
Å iterere gjennom et todimensjonalt array kan være litt utfordrende å forstå i starten, så ikke bekymre deg hvis det ikke gir mening med en gang. I dette kapittelet vil jeg vise hvordan det gjøres og forklare hvordan det fungerer.
Vi bruker en nøstet løkke for å iterere gjennom et todimensjonalt array, altså en løkke inni en annen. Den ytre løkken itererer over radene, mens den indre løkken itererer over kolonnene. La oss se på syntaksen for å iterere gjennom et todimensjonalt array ved å bruke eksempel-arrayet vi opprettet i forrige kapittel:
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(); } } }
La oss se nærmere på betydningen av hvert element i kodeeksempelet ovenfor:
int[][] twoDimensionalArray =: denne linjen initialiserer et todimensjonalt array;for (int i = 0; i < twoDimensionalArray.length; i++): den første for-løkken itererer over radene i matrisen. Når vi er på første rad, går programmet inn i den nestede løkken, som ikke påvirker den ytre løkken. Variabelenirepresenterer gjeldende radnummer;for (int j = 0; j < twoDimensionalArray[0].length; j++): den andre for-løkken itererer over kolonnene i matrisen. Når vi er på rad 0, itererer vi gjennom kolonnene i den raden. Variabelenjrepresenterer gjeldende kolonnenummer;System.out.print(twoDimensionalArray[i][j] + " "): i denne linjen bruker viSystem.out.printfor å vise verdiene våre på én linje. Slik fungerer det: Når vi er på rad 0, itererer vi gjennom kolonnene i den raden. For eksempel,array[0][1], etterfulgt avarray[0][2], og så videre. Vi fortsetter gjennom kolonnene så lengejer mindre ennarray[0].length. Når vi nårarray[0].length, går vi tilbake til det ytre arrayet og fortsetter til første rad. For eksempel,array[0][3] -> array[1][0]. Vi har nådd grensene våre og har deretter gått videre til rad 1.
Swipe to start coding
Beregn gjennomsnittstemperaturen for hver ukedag basert på data fra flere stasjoner.
Du har fått:
- Stasjon 1:
{20, 22, 24, 19, 21, 23, 25} - Stasjon 2:
{18, 20, 22, 19, 20, 22, 24} - Stasjon 3:
{21, 23, 25, 22, 24, 26, 28} - Stasjon 4:
{19, 21, 23, 20, 22, 24, 26}
Oppgave:
- Skriv en metode kalt
calculateDailyAverages(int[][] temperatures)som returnerer endouble[]. - I denne metoden:
- Gå gjennom hver dag (kolonner i 2D-arrayen).
- For hver dag, initialiser
totalTempfor å lagre summen av temperaturene. - Bruk en indre løkke for å gå gjennom alle stasjoner (rader).
- Summer temperaturene fra hver stasjon for den aktuelle dagen.
- Del totalen på antall stasjoner for å finne gjennomsnittet.
- Lagre resultatet i et array.
- Returner arrayet med gjennomsnittene.
Løsning
Takk for tilbakemeldingene dine!
single