Iteração em Array Bidimensional
Como iterar dentro de um array bidimensional usando um for-loop?
Iterar por um array bidimensional pode ser um pouco desafiador de entender no início, então não se preocupe se não fizer sentido imediatamente. Neste capítulo, será demonstrado como fazer isso e explicado como funciona.
Utiliza-se um loop aninhado para percorrer um array bidimensional, ou seja, um loop dentro de outro. O loop externo itera sobre as linhas, enquanto o loop interno itera sobre as colunas. Vamos analisar a sintaxe para iterar por um array bidimensional usando o array de exemplo criado no capítulo anterior:
Main
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(); } } }
Vamos analisar o significado de cada elemento no trecho de código fornecido acima:
int[][] twoDimensionalArray =
: esta linha inicializa um array bidimensional;for (int i = 0; i < twoDimensionalArray.length; i++)
: o primeiro laço for percorre as linhas da matriz. Enquanto estamos na primeira linha, o programa entra no laço aninhado, que não afeta o laço externo. A variáveli
representa o número da linha atual;for (int j = 0; j < twoDimensionalArray[0].length; j++)
: o segundo laço for percorre as colunas da matriz. Enquanto estamos na linha 0, percorremos as colunas dessa linha. A variávelj
representa o número da coluna atual;System.out.print(twoDimensionalArray[i][j] + " ")
: nesta linha, utilizamosSystem.out.print
para exibir os valores em uma única linha. Veja como funciona: enquanto estamos na linha 0, percorremos as colunas dessa linha. Por exemplo,array[0][1]
, seguido dearray[0][2]
, e assim por diante. Continuamos pelas colunas enquantoj
for menor quearray[0].length
. Ao atingirarray[0].length
, retornamos ao array externo e avançamos para a próxima linha. Por exemplo,array[0][3] -> array[1][0]
. Chegamos ao limite e então passamos para a linha 1.
Swipe to start coding
Calcule a temperatura média para cada dia da semana com base nos dados de várias estações.
Você recebe:
- Estação 1:
{20, 22, 24, 19, 21, 23, 25}
- Estação 2:
{18, 20, 22, 19, 20, 22, 24}
- Estação 3:
{21, 23, 25, 22, 24, 26, 28}
- Estação 4:
{19, 21, 23, 20, 22, 24, 26}
Sua tarefa:
- Escreva um método chamado
calculateDailyAverages(int[][] temperatures)
que retorna umdouble[]
. - Neste método:
- Percorra cada dia (colunas do array 2D).
- Para cada dia, inicialize
totalTemp
para armazenar a soma das temperaturas. - Use um loop interno para percorrer todas as estações (linhas).
- Some as temperaturas de cada estação para o dia atual.
- Divida o total pelo número de estações para obter a média.
- Armazene o resultado em um array.
- Retorne o array de médias.
Solução
solution
Obrigado pelo seu feedback!