Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Iterazione in Array Bidimensionale | Array
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Basi di Java

bookIterazione 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

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

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 variabile i rappresenta 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 variabile j rappresenta il numero della colonna corrente;
  • System.out.print(twoDimensionalArray[i][j] + " "): in questa riga, utilizziamo System.out.print per 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 da array[0][2], e così via. Continuiamo attraverso le colonne finché j è minore di array[0].length. Una volta raggiunto array[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.
Compito

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:

  1. Scrivere un metodo chiamato calculateDailyAverages(int[][] temperatures) che restituisce un double[].
  2. In questo metodo:
    • Iterare su ciascun giorno (colonne dell'array 2D).
    • Per ogni giorno, inizializzare totalTemp per 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.
  3. Restituire l'array delle medie.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 5
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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

bookIterazione 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

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

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 variabile i rappresenta 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 variabile j rappresenta il numero della colonna corrente;
  • System.out.print(twoDimensionalArray[i][j] + " "): in questa riga, utilizziamo System.out.print per 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 da array[0][2], e così via. Continuiamo attraverso le colonne finché j è minore di array[0].length. Una volta raggiunto array[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.
Compito

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:

  1. Scrivere un metodo chiamato calculateDailyAverages(int[][] temperatures) che restituisce un double[].
  2. In questo metodo:
    • Iterare su ciascun giorno (colonne dell'array 2D).
    • Per ogni giorno, inizializzare totalTemp per 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.
  3. Restituire l'array delle medie.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 5
single

single

some-alt