Iteración en un Arreglo Bidimensional
¿Cómo iterar dentro de un arreglo bidimensional utilizando un bucle for?
Iterar a través de un arreglo bidimensional puede resultar un poco difícil de comprender al principio, así que no te preocupes si no lo entiendes de inmediato. En este capítulo, se demostrará cómo hacerlo y se explicará su funcionamiento.
Se utiliza un bucle anidado para recorrer un arreglo bidimensional, es decir, un bucle dentro de otro. El bucle externo itera sobre las filas, mientras que el bucle interno itera sobre las columnas. A continuación, se presenta la sintaxis para iterar a través de un arreglo bidimensional utilizando el arreglo de ejemplo creado en el 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(); } } }
Analicemos el significado de cada elemento en el fragmento de código proporcionado anteriormente:
int[][] twoDimensionalArray =
: esta línea inicializa un arreglo bidimensional;for (int i = 0; i < twoDimensionalArray.length; i++)
: el primer bucle for itera sobre las filas de nuestra matriz. Mientras estamos en la primera fila, nuestro programa entra en el bucle anidado, lo cual no afecta al bucle externo. La variablei
representa el número de fila actual;for (int j = 0; j < twoDimensionalArray[0].length; j++)
: el segundo bucle for itera sobre las columnas de la matriz. Mientras estamos en la fila 0, iteramos a través de las columnas de esa fila. La variablej
representa el número de columna actual;System.out.print(twoDimensionalArray[i][j] + " ")
: en esta línea, utilizamosSystem.out.print
para mostrar los valores en una sola línea. Veamos cómo funciona: mientras estamos en la fila 0, iteramos a través de las columnas de esa fila. Por ejemplo,array[0][1]
, seguido dearray[0][2]
, y así sucesivamente. Continuamos por las columnas mientrasj
sea menor quearray[0].length
. Una vez que llegamos aarray[0].length
, regresamos al arreglo externo y pasamos a la primera fila. Por ejemplo,array[0][3] -> array[1][0]
. Hemos alcanzado los límites y luego hemos pasado a la fila 1.
Swipe to start coding
Calcular el promedio de temperatura para cada día de la semana utilizando datos de varias estaciones.
Se proporciona lo siguiente:
- Estación 1:
{20, 22, 24, 19, 21, 23, 25}
- Estación 2:
{18, 20, 22, 19, 20, 22, 24}
- Estación 3:
{21, 23, 25, 22, 24, 26, 28}
- Estación 4:
{19, 21, 23, 20, 22, 24, 26}
Tarea:
- Escribir un método llamado
calculateDailyAverages(int[][] temperatures)
que devuelva undouble[]
. - En este método:
- Recorrer cada día (columnas del arreglo bidimensional).
- Para cada día, inicializar
totalTemp
para almacenar la suma de temperaturas. - Utilizar un ciclo interno para recorrer todas las estaciones (filas).
- Sumar las temperaturas de cada estación para el día actual.
- Dividir el total entre el número de estaciones para obtener el promedio.
- Almacenar el resultado en un arreglo.
- Devolver el arreglo de promedios.
Solución
solution
¡Gracias por tus comentarios!