Iteraatio Kaksiulotteisessa Taulukossa
Kuinka iteroida kaksiulotteisen taulukon läpi for-silmukalla?
Kaksiulotteisen taulukon läpikäynti voi aluksi tuntua haastavalta ymmärtää, joten älä huoli, jos se ei heti avaudu. Tässä luvussa esitän, miten se tehdään, ja selitän, miten se toimii.
Käytämme sisäkkäistä silmukkaa iteroidessamme kaksiulotteisen taulukon läpi, eli toinen silmukka toisen sisällä. Ulkoinen silmukka iteroi rivit, kun taas sisäinen silmukka iteroi sarakkeet. Tarkastellaan syntaksia kaksiulotteisen taulukon läpikäyntiin käyttäen esimerkkitaulukkoa, jonka loimme edellisessä luvussa:
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(); } } }
Tarkastellaan yllä annetun koodiesimerkin jokaisen elementin merkitystä:
int[][] twoDimensionalArray =: tämä rivi alustaa kaksiulotteisen taulukon;for (int i = 0; i < twoDimensionalArray.length; i++): ensimmäinen for-silmukka käy läpi matriisin rivit. Kun olemme ensimmäisellä rivillä, ohjelma siirtyy sisäkkäiseen silmukkaan, mikä ei vaikuta ulkoiseen silmukkaan. Muuttujaiilmaisee nykyisen rivin numeron;for (int j = 0; j < twoDimensionalArray[0].length; j++): toinen for-silmukka käy läpi matriisin sarakkeet. Kun olemme rivillä 0, käymme kyseisen rivin sarakkeet läpi. Muuttujajilmaisee nykyisen sarakkeen numeron;System.out.print(twoDimensionalArray[i][j] + " "): tällä rivillä käytetäänSystem.out.print-komentoa arvojen näyttämiseen yhdellä rivillä. Katsotaan, miten se toimii: kun olemme rivillä 0, käymme kyseisen rivin sarakkeet läpi. Esimerkiksiarray[0][1], sittenarray[0][2]ja niin edelleen. Jatkamme sarakkeiden läpikäyntiä niin kauan kuinjon pienempi kuinarray[0].length. Kun saavutammearray[0].length, palaamme ulompaan taulukkoon ja siirrymme ensimmäiselle riville. Esimerkiksiarray[0][3] -> array[1][0]. Olemme saavuttaneet rajat ja siirtyneet riville 1.
Swipe to start coding
Laske keskilämpötila jokaiselle viikonpäivälle usean aseman tietojen perusteella.
Annetut tiedot:
- Asema 1:
{20, 22, 24, 19, 21, 23, 25} - Asema 2:
{18, 20, 22, 19, 20, 22, 24} - Asema 3:
{21, 23, 25, 22, 24, 26, 28} - Asema 4:
{19, 21, 23, 20, 22, 24, 26}
Tehtäväsi:
- Kirjoita metodi nimeltä
calculateDailyAverages(int[][] temperatures), joka palauttaadouble[]-taulukon. - Tässä metodissa:
- Käy läpi jokainen päivä (kaksiulotteisen taulukon sarakkeet).
- Alusta
totalTempjokaiselle päivälle lämpötilojen summan tallentamista varten. - Käytä sisäkkäistä silmukkaa käydäksesi läpi kaikki asemat (rivit).
- Laske kunkin aseman lämpötila kyseiselle päivälle yhteen.
- Jaa kokonaissumma asemien määrällä saadaksesi keskiarvon.
- Tallenna tulos taulukkoon.
- Palauta keskiarvot sisältävä taulukko.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 2.7
Iteraatio Kaksiulotteisessa Taulukossa
Pyyhkäise näyttääksesi valikon
Kuinka iteroida kaksiulotteisen taulukon läpi for-silmukalla?
Kaksiulotteisen taulukon läpikäynti voi aluksi tuntua haastavalta ymmärtää, joten älä huoli, jos se ei heti avaudu. Tässä luvussa esitän, miten se tehdään, ja selitän, miten se toimii.
Käytämme sisäkkäistä silmukkaa iteroidessamme kaksiulotteisen taulukon läpi, eli toinen silmukka toisen sisällä. Ulkoinen silmukka iteroi rivit, kun taas sisäinen silmukka iteroi sarakkeet. Tarkastellaan syntaksia kaksiulotteisen taulukon läpikäyntiin käyttäen esimerkkitaulukkoa, jonka loimme edellisessä luvussa:
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(); } } }
Tarkastellaan yllä annetun koodiesimerkin jokaisen elementin merkitystä:
int[][] twoDimensionalArray =: tämä rivi alustaa kaksiulotteisen taulukon;for (int i = 0; i < twoDimensionalArray.length; i++): ensimmäinen for-silmukka käy läpi matriisin rivit. Kun olemme ensimmäisellä rivillä, ohjelma siirtyy sisäkkäiseen silmukkaan, mikä ei vaikuta ulkoiseen silmukkaan. Muuttujaiilmaisee nykyisen rivin numeron;for (int j = 0; j < twoDimensionalArray[0].length; j++): toinen for-silmukka käy läpi matriisin sarakkeet. Kun olemme rivillä 0, käymme kyseisen rivin sarakkeet läpi. Muuttujajilmaisee nykyisen sarakkeen numeron;System.out.print(twoDimensionalArray[i][j] + " "): tällä rivillä käytetäänSystem.out.print-komentoa arvojen näyttämiseen yhdellä rivillä. Katsotaan, miten se toimii: kun olemme rivillä 0, käymme kyseisen rivin sarakkeet läpi. Esimerkiksiarray[0][1], sittenarray[0][2]ja niin edelleen. Jatkamme sarakkeiden läpikäyntiä niin kauan kuinjon pienempi kuinarray[0].length. Kun saavutammearray[0].length, palaamme ulompaan taulukkoon ja siirrymme ensimmäiselle riville. Esimerkiksiarray[0][3] -> array[1][0]. Olemme saavuttaneet rajat ja siirtyneet riville 1.
Swipe to start coding
Laske keskilämpötila jokaiselle viikonpäivälle usean aseman tietojen perusteella.
Annetut tiedot:
- Asema 1:
{20, 22, 24, 19, 21, 23, 25} - Asema 2:
{18, 20, 22, 19, 20, 22, 24} - Asema 3:
{21, 23, 25, 22, 24, 26, 28} - Asema 4:
{19, 21, 23, 20, 22, 24, 26}
Tehtäväsi:
- Kirjoita metodi nimeltä
calculateDailyAverages(int[][] temperatures), joka palauttaadouble[]-taulukon. - Tässä metodissa:
- Käy läpi jokainen päivä (kaksiulotteisen taulukon sarakkeet).
- Alusta
totalTempjokaiselle päivälle lämpötilojen summan tallentamista varten. - Käytä sisäkkäistä silmukkaa käydäksesi läpi kaikki asemat (rivit).
- Laske kunkin aseman lämpötila kyseiselle päivälle yhteen.
- Jaa kokonaissumma asemien määrällä saadaksesi keskiarvon.
- Tallenna tulos taulukkoon.
- Palauta keskiarvot sisältävä taulukko.
Ratkaisu
Kiitos palautteestasi!
single