Iterazione in Array Bidimensionale
Come iterare all'interno di un array bidimensionale utilizzando un ciclo for?
Iterare attraverso un array bidimensionale può risultare inizialmente un po' complesso da comprendere, quindi non preoccuparti se non è subito chiaro. In questo capitolo verrà mostrato come farlo e spiegato il funzionamento.
Si utilizza un ciclo annidato per scorrere un array bidimensionale, ovvero un ciclo all'interno di un altro. Il ciclo esterno itera sulle righe, mentre il ciclo interno itera sulle colonne. Vediamo la sintassi per iterare su un array bidimensionale utilizzando l'array di esempio creato nel capitolo precedente:
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(); } } }
Analizziamo il significato di ciascun elemento nel frammento di codice fornito sopra:
int[][] twoDimensionalArray =: questa riga inizializza un array bidimensionale;for (int i = 0; i < twoDimensionalArray.length; i++): il primo ciclo for itera sulle righe della nostra matrice. Quando siamo sulla prima riga, il programma entra nel ciclo annidato, che non influisce sul ciclo esterno. La variabileirappresenta il numero della riga corrente;for (int j = 0; j < twoDimensionalArray[0].length; j++): il secondo ciclo for itera sulle colonne della matrice. Quando siamo sulla riga 0, iteriamo attraverso le colonne di quella riga. La variabilejrappresenta il numero della colonna corrente;System.out.print(twoDimensionalArray[i][j] + " "): in questa riga, utilizziamoSystem.out.printper visualizzare i valori su una singola riga. Vediamo come funziona: quando siamo sulla riga 0, iteriamo attraverso le colonne di quella riga. Ad esempio,array[0][1], seguito daarray[0][2], e così via. Continuiamo attraverso le colonne finchéjè minore diarray[0].length. Una volta raggiuntoarray[0].length, torniamo all'array esterno e passiamo alla prima riga. Ad esempio,array[0][3] -> array[1][0]. Abbiamo raggiunto i nostri limiti e poi siamo passati alla riga 1.
Swipe to start coding
Calcolare la temperatura media per ciascun giorno della settimana utilizzando i dati provenienti da diverse stazioni.
Sono forniti i seguenti dati:
- 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}
Obiettivo:
- Scrivere un metodo chiamato
calculateDailyAverages(int[][] temperatures)che restituisce undouble[]. - In questo metodo:
- Iterare su ciascun giorno (colonne dell'array 2D).
- Per ogni giorno, inizializzare
totalTempper memorizzare la somma delle temperature. - Utilizzare un ciclo interno per scorrere tutte le stazioni (righe).
- Sommare le temperature di ciascuna stazione per il giorno corrente.
- Dividere il totale per il numero di stazioni per ottenere la media.
- Salvare il risultato in un array.
- Restituire l'array delle medie.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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?
Fantastico!
Completion tasso migliorato a 2.7
Iterazione in Array Bidimensionale
Scorri per mostrare il menu
Come iterare all'interno di un array bidimensionale utilizzando un ciclo for?
Iterare attraverso un array bidimensionale può risultare inizialmente un po' complesso da comprendere, quindi non preoccuparti se non è subito chiaro. In questo capitolo verrà mostrato come farlo e spiegato il funzionamento.
Si utilizza un ciclo annidato per scorrere un array bidimensionale, ovvero un ciclo all'interno di un altro. Il ciclo esterno itera sulle righe, mentre il ciclo interno itera sulle colonne. Vediamo la sintassi per iterare su un array bidimensionale utilizzando l'array di esempio creato nel capitolo precedente:
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(); } } }
Analizziamo il significato di ciascun elemento nel frammento di codice fornito sopra:
int[][] twoDimensionalArray =: questa riga inizializza un array bidimensionale;for (int i = 0; i < twoDimensionalArray.length; i++): il primo ciclo for itera sulle righe della nostra matrice. Quando siamo sulla prima riga, il programma entra nel ciclo annidato, che non influisce sul ciclo esterno. La variabileirappresenta il numero della riga corrente;for (int j = 0; j < twoDimensionalArray[0].length; j++): il secondo ciclo for itera sulle colonne della matrice. Quando siamo sulla riga 0, iteriamo attraverso le colonne di quella riga. La variabilejrappresenta il numero della colonna corrente;System.out.print(twoDimensionalArray[i][j] + " "): in questa riga, utilizziamoSystem.out.printper visualizzare i valori su una singola riga. Vediamo come funziona: quando siamo sulla riga 0, iteriamo attraverso le colonne di quella riga. Ad esempio,array[0][1], seguito daarray[0][2], e così via. Continuiamo attraverso le colonne finchéjè minore diarray[0].length. Una volta raggiuntoarray[0].length, torniamo all'array esterno e passiamo alla prima riga. Ad esempio,array[0][3] -> array[1][0]. Abbiamo raggiunto i nostri limiti e poi siamo passati alla riga 1.
Swipe to start coding
Calcolare la temperatura media per ciascun giorno della settimana utilizzando i dati provenienti da diverse stazioni.
Sono forniti i seguenti dati:
- 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}
Obiettivo:
- Scrivere un metodo chiamato
calculateDailyAverages(int[][] temperatures)che restituisce undouble[]. - In questo metodo:
- Iterare su ciascun giorno (colonne dell'array 2D).
- Per ogni giorno, inizializzare
totalTempper memorizzare la somma delle temperature. - Utilizzare un ciclo interno per scorrere tutte le stazioni (righe).
- Sommare le temperature di ciascuna stazione per il giorno corrente.
- Dividere il totale per il numero di stazioni per ottenere la media.
- Salvare il risultato in un array.
- Restituire l'array delle medie.
Soluzione
Grazie per i tuoi commenti!
single