Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Iteration i Todimensionelt Array | Arrays
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java Grundlæggende

bookIteration i Todimensionelt Array

Sådan itereres i et todimensionelt array ved hjælp af en for-løkke?

At iterere gennem et todimensionelt array kan være lidt udfordrende at forstå i starten, så vær ikke bekymret, hvis det ikke giver mening med det samme. I dette kapitel vil jeg vise, hvordan det gøres, og forklare, hvordan det fungerer.

Vi bruger en indlejret løkke til at iterere gennem et todimensionelt array, hvilket betyder en løkke inden i en anden. Den ydre løkke itererer over rækkerne, mens den indre løkke itererer over kolonnerne. Lad os se på syntaksen for at iterere gennem et todimensionelt array ved hjælp af eksempel-arrayet, vi oprettede i det forrige kapitel:

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

Lad os undersøge betydningen af hvert element i kodeeksemplet ovenfor:

  • int[][] twoDimensionalArray =: denne linje initialiserer et todimensionelt array;
  • for (int i = 0; i < twoDimensionalArray.length; i++): den første for-løkke itererer over rækkerne i vores matrix. Mens vi er på den første række, går vores program ind i den indlejrede løkke, hvilket ikke påvirker den ydre løkke. Variablen i repræsenterer det aktuelle rækkenummer;
  • for (int j = 0; j < twoDimensionalArray[0].length; j++): den anden for-løkke itererer over kolonnerne i matrixen. Mens vi er på række 0, itererer vi gennem kolonnerne i den række. Variablen j repræsenterer det aktuelle kolonnenummer;
  • System.out.print(twoDimensionalArray[i][j] + " "): i denne linje bruger vi System.out.print til at vise vores værdier på én linje. Sådan fungerer det: mens vi er på række 0, itererer vi gennem kolonnerne på den række. For eksempel, array[0][1], efterfulgt af array[0][2] osv. Vi fortsætter gennem kolonnerne, så længe j er mindre end array[0].length. Når vi når array[0].length, vender vi tilbage til det ydre array og går videre til den første række. For eksempel, array[0][3] -> array[1][0]. Vi har nået vores grænser og er derefter gået videre til række 1.
Opgave

Swipe to start coding

Beregn gennemsnitstemperaturen for hver ugedag baseret på data fra flere stationer.

Du får følgende:

  • 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}

Opgave:

  1. Skriv en metode kaldet calculateDailyAverages(int[][] temperatures), der returnerer et double[].
  2. I denne metode:
    • Gennemløb hver dag (kolonner i 2D-arrayet).
    • Initialiser totalTemp til at gemme summen af temperaturer for dagen.
    • Brug en indre løkke til at gennemgå alle stationer (rækker).
    • Læg temperaturerne fra hver station sammen for den aktuelle dag.
    • Divider summen med antallet af stationer for at finde gennemsnittet.
    • Gem resultatet i et array.
  3. Returnér arrayet med gennemsnit.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 5
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookIteration i Todimensionelt Array

Stryg for at vise menuen

Sådan itereres i et todimensionelt array ved hjælp af en for-løkke?

At iterere gennem et todimensionelt array kan være lidt udfordrende at forstå i starten, så vær ikke bekymret, hvis det ikke giver mening med det samme. I dette kapitel vil jeg vise, hvordan det gøres, og forklare, hvordan det fungerer.

Vi bruger en indlejret løkke til at iterere gennem et todimensionelt array, hvilket betyder en løkke inden i en anden. Den ydre løkke itererer over rækkerne, mens den indre løkke itererer over kolonnerne. Lad os se på syntaksen for at iterere gennem et todimensionelt array ved hjælp af eksempel-arrayet, vi oprettede i det forrige kapitel:

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

Lad os undersøge betydningen af hvert element i kodeeksemplet ovenfor:

  • int[][] twoDimensionalArray =: denne linje initialiserer et todimensionelt array;
  • for (int i = 0; i < twoDimensionalArray.length; i++): den første for-løkke itererer over rækkerne i vores matrix. Mens vi er på den første række, går vores program ind i den indlejrede løkke, hvilket ikke påvirker den ydre løkke. Variablen i repræsenterer det aktuelle rækkenummer;
  • for (int j = 0; j < twoDimensionalArray[0].length; j++): den anden for-løkke itererer over kolonnerne i matrixen. Mens vi er på række 0, itererer vi gennem kolonnerne i den række. Variablen j repræsenterer det aktuelle kolonnenummer;
  • System.out.print(twoDimensionalArray[i][j] + " "): i denne linje bruger vi System.out.print til at vise vores værdier på én linje. Sådan fungerer det: mens vi er på række 0, itererer vi gennem kolonnerne på den række. For eksempel, array[0][1], efterfulgt af array[0][2] osv. Vi fortsætter gennem kolonnerne, så længe j er mindre end array[0].length. Når vi når array[0].length, vender vi tilbage til det ydre array og går videre til den første række. For eksempel, array[0][3] -> array[1][0]. Vi har nået vores grænser og er derefter gået videre til række 1.
Opgave

Swipe to start coding

Beregn gennemsnitstemperaturen for hver ugedag baseret på data fra flere stationer.

Du får følgende:

  • 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}

Opgave:

  1. Skriv en metode kaldet calculateDailyAverages(int[][] temperatures), der returnerer et double[].
  2. I denne metode:
    • Gennemløb hver dag (kolonner i 2D-arrayet).
    • Initialiser totalTemp til at gemme summen af temperaturer for dagen.
    • Brug en indre løkke til at gennemgå alle stationer (rækker).
    • Læg temperaturerne fra hver station sammen for den aktuelle dag.
    • Divider summen med antallet af stationer for at finde gennemsnittet.
    • Gem resultatet i et array.
  3. Returnér arrayet med gennemsnit.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 5
single

single

some-alt