Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Iterasjon i Todimensjonalt Array | Arrayer
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java Grunnleggende

bookIterasjon 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

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

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. Variabelen i representerer 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. Variabelen j representerer gjeldende kolonnenummer;
  • System.out.print(twoDimensionalArray[i][j] + " "): i denne linjen bruker vi System.out.print for å 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 av array[0][2], og så videre. Vi fortsetter gjennom kolonnene så lenge j er mindre enn array[0].length. Når vi når array[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.
Oppgave

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:

  1. Skriv en metode kalt calculateDailyAverages(int[][] temperatures) som returnerer en double[].
  2. I denne metoden:
    • Gå gjennom hver dag (kolonner i 2D-arrayen).
    • For hver dag, initialiser totalTemp for å 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.
  3. Returner arrayet med gjennomsnittene.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 5
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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?

close

bookIterasjon 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

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

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. Variabelen i representerer 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. Variabelen j representerer gjeldende kolonnenummer;
  • System.out.print(twoDimensionalArray[i][j] + " "): i denne linjen bruker vi System.out.print for å 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 av array[0][2], og så videre. Vi fortsetter gjennom kolonnene så lenge j er mindre enn array[0].length. Når vi når array[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.
Oppgave

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:

  1. Skriv en metode kalt calculateDailyAverages(int[][] temperatures) som returnerer en double[].
  2. I denne metoden:
    • Gå gjennom hver dag (kolonner i 2D-arrayen).
    • For hver dag, initialiser totalTemp for å 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.
  3. Returner arrayet med gjennomsnittene.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 5
single

single

some-alt