Ітерація у двовимірному масиві
Як виконувати ітерацію у двовимірному масиві за допомогою циклу for?
Ітерація по двовимірному масиву може здатися складною для розуміння на початку, тому не хвилюйтеся, якщо це не стане зрозумілим одразу. У цьому розділі буде показано, як це робити, та пояснено, як це працює.
Використовується вкладений цикл для ітерації по двовимірному масиву, тобто один цикл всередині іншого. Зовнішній цикл проходить по рядках, а внутрішній цикл проходить по стовпцях. Розглянемо синтаксис ітерації по двовимірному масиву на прикладі масиву, створеного у попередньому розділі:
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(); } } }
Розгляньмо значення кожного елемента у наведеному вище фрагменті коду:
int[][] twoDimensionalArray =
: цей рядок ініціалізує двовимірний масив;for (int i = 0; i < twoDimensionalArray.length; i++)
: перший цикл for ітерує по рядках нашої матриці. Поки ми перебуваємо на першому рядку, програма входить у вкладений цикл, що не впливає на зовнішній цикл. Зміннаi
позначає поточний номер рядка;for (int j = 0; j < twoDimensionalArray[0].length; j++)
: другий цикл for ітерує по стовпцях матриці. Поки ми перебуваємо на нульовому рядку, ми проходимо по стовпцях цього рядка. Зміннаj
позначає поточний номер стовпця;System.out.print(twoDimensionalArray[i][j] + " ")
: у цьому рядку ми використовуємоSystem.out.print
для виведення значень в один рядок. Розгляньмо, як це працює: поки ми перебуваємо на нульовому рядку, ми ітеруємо по стовпцях цього рядка. Наприклад,array[0][1]
, даліarray[0][2]
і так далі. Ми продовжуємо ітерувати по стовпцях, докиj
менше заarray[0].length
. Коли досягаємоarray[0].length
, повертаємося до зовнішнього масиву і переходимо до першого рядка. Наприклад,array[0][3] -> array[1][0]
. Ми досягли меж і перейшли до рядка 1.
Swipe to start coding
Обчислення середньої температури для кожного дня тижня на основі даних з кількох станцій.
Вам надано:
- Станція 1:
{20, 22, 24, 19, 21, 23, 25}
- Станція 2:
{18, 20, 22, 19, 20, 22, 24}
- Станція 3:
{21, 23, 25, 22, 24, 26, 28}
- Станція 4:
{19, 21, 23, 20, 22, 24, 26}
Ваше завдання:
- Напишіть метод з назвою
calculateDailyAverages(int[][] temperatures)
, який повертаєdouble[]
. - У цьому методі:
- Проходьте по кожному дню (стовпці двовимірного масиву).
- Для кожного дня ініціалізуйте
totalTemp
для зберігання суми температур. - Використовуйте внутрішній цикл для проходження по всіх станціях (рядках).
- Підсумуйте температури з кожної станції для поточного дня.
- Поділіть суму на кількість станцій, щоб отримати середнє значення.
- Збережіть результат у масиві.
- Поверніть масив середніх значень.
Рішення
solution
Дякуємо за ваш відгук!