JavaRush /Java курси /Модуль 1. Java Syntax /Приклади використання масивів

Приклади використання масивів

Модуль 1. Java Syntax
Рівень 7 , Лекція 2
Відкрита

1. Корисні приклади роботи з масивами

Думаю, настав час перейти до практичних задач. Почнімо з кількох найпростіших.

Заповнення масиву з 10 чисел числами від 0 до 9:
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = i;
}
  • Створюємо об'єкт-масив на 10 елементів
  • Цикл від 0 до 9 включно
  • У комірки вносимо значення від 0 до 9
Заповнення масиву з 10 чисел числами від 1 до 10:
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = i + 1;
}
  • Створюємо об'єкт-масив на 10 елементів
  • Цикл від 0 до 9 включно
  • У комірки вносимо значення від 1 до 10
Заповнення масиву з 10 чисел числами від 10 до 1:
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = 10 - i;
}
  • Створюємо об'єкт-масив на 10 елементів
  • Цикл від 0 до 9 включно
  • У комірки вносимо значення від 10 до 1

2. Виведення чисел у зворотному порядку

А тепер перейдімо до складніших і цікавіших прикладів. І почнемо ми з такої задачі: потрібно ввести з клавіатури 10 чисел і вивести їх у зворотному порядку.

Як уводити числа з клавіатури, ми знаємо. А як увести 10 чисел? Звісно, можна створити 10 змінних: а1, а2 і т. д. Однак, по-перше, це незручно. По-друге, якщо потрібно буде ввести 100 чисел, невже ми будемо створювати 100 змінних? Ну і по-третє, ми щойно вивчили масиви, які просто створені для зберігання великої кількості значень.

Код для введення 10 значень матиме приблизно такий вигляд (наведено тільки код всередині методу main):

Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = console.nextInt();
}
  • Створюємо об'єкт Scanner
  • Створюємо об'єкт-масив на 10 елементів
  • Цикл від 0 до 9 включно
  • Зчитуємо число з клавіатури та зберігаємо його в черговій комірці масиву

А от як вивести значення масиву в зворотному порядку?

Для цього нам знадобиться ще один цикл, де i набуватиме значень від 9 до 0 (пам'ятаймо, що індекси масиву нумеруються з 0). Остаточний код програми матиме приблизно такий вигляд:

Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
   array[i] = console.nextInt();
}
for (int i = 9; i >= 0; i--) {
   System.out.println(array[i]);
}
  • Створюємо об'єкт Scanner
  • Створюємо об'єкт-масив на 10 елементів
  • Цикл від 0 до 9 включно
  • Зчитуємо число з клавіатури та зберігаємо його в черговій комірці масиву
  • Цикл від 9 до 0 включно
  • Виводимо на екран чергову комірку масиву


3. Пошук найменшого елемента масиву

Розгляньмо одну дуже цікаву й поширену задачу — як знайти в масиві найменший елемент. Візьмімо код для заповнення масиву з попередньої задачі:

Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
    array[i] = console.nextInt();
}
  • Створюємо об'єкт Scanner
  • Створюємо об'єкт-масив на 10 елементів
  • Цикл від 0 до 9 включно
  • Зчитуємо число з клавіатури та зберігаємо його в черговій комірці масиву

Нам залишилося написати код, який знайде в масиві найменший елемент і виведе його на екран. Як же це зробити?

Щоб знайти найменший елемент, нам потрібно:

  • узяти перший елемент масиву як «поточний знайдений найменший»
  • порівняти з ним всі елементи масиву по черзі
  • якщо черговий елемент масиву менший за «поточний найменший», то оновити значення «поточного найменшого елемента»

Отакий вигляд матиме відповідний код:

Scanner console = new Scanner(System.in);
int[] array = new int[10];
for (int i = 0; i < 10; i++) {
    array[i] = console.nextInt();
}
int min = array[0];

for (int i = 1; i < 10; i++) {
    if (array[i] < min)

       min = array[i];
}
System.out.println(min);
  • Створюємо об'єкт Scanner
  • Створюємо об'єкт-масив на 10 елементів
  • Цикл від 0 до 9 включно
  • Зчитуємо число з клавіатури та зберігаємо його в черговій комірці масиву
  • За найменше число взяли нульовий елемент масиву
  • Цикл від 1 до 9 включно
  • Якщо поточний елемент масиву менший за «знайдене найменше число»,
  • то «оновити значення найменшого числа»
  • Вивести знайдене найменше число на екран

Коментарі (50)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Ihor Klymov Рівень 10
23 липня 2024
Теж попався на об'явленому масиві... Прикра помилка
29 жовтня 2024
як я Вас розумію 😅 підловили багатьох на цій задачі
ivan Рівень 10
5 травня 2024
витратив два дні перечитав та перепробував купу варіантів і виявилось що самий перший варіант вірний тільки не треба було перевіряти введене число більше за 0 чи ні....😒😒🤦‍♂️
29 жовтня 2024
у мене пройшло перевірку рішення і з умовою що число більше нуля, просто потрібно якщо ставити умову, то весь код повністю в неї помістити, бо інакше програма не зрозуміє:

if (N > 0) {
    int [] array = new int [N];
    for ...
    ...
    ...
}
Anonymous #3425794 Рівень 8
5 квітня 2024
На задачі мінімум, там у классі оголошений масив на цьому я і попався і в мене не проходила задача
Alex Рівень 2
11 серпня 2024
блін, якби б не твій коментар - не побачив би навіть
29 жовтня 2024
чому я не побачила твій коментар раніше 😅 теж підловили так само і масив повторно оголосила в методі, треба уважніше дивитись 😺👍
Magic Рівень 26
14 січня 2024
Сегодня купил подписку... Полночь на часах, не могу прекратить решать задачи 😅
15 січня 2024
С первого уровня до 6 за 13 часов. Для Вас это уже все знакомо?
Magic Рівень 26
16 січня 2024
"С первого уровня до 6 за 13 часов." Если вы о себе, это впечатляет 👍 Если обо мне, то это не так, с 1 по 5 уровень я учился без подписки и это заняло около двух месяцев реального времени(включая перерывы на работу, отдых и личную жизнь) 🙂
17 січня 2024
Эмм. Писал про Вас. Просто после 1 уровня бесплатный доступ закончился. Купил премиум и продолжил платно со второго уровня. Вот и сделал ранее такой вывод: с платного второго курса до 6 за несколько часов. А судя по всему, поменяли оплату курсов и количество бесплатных. Ну, такое.
Rand al Thor Рівень 1
23 грудня 2023
Якась дурниця з цим валідатором. Задача виконана правильно. Умова правильно, все працює, як потрібно, але валідатор просто не зараховує. Я порівняв правильне розв'язання і своє - вони майже нічим не відрізняються, там максимум назви змінних і табуляція.
Timmofeii Рівень 9
23 вересня 2023
Подскажите почему не посчитало верным? и почему вас нет проверки на положительное ли число, ведь если оно будет 0 или отрицательным выкинет ошибку
Андрии Бумер Рівень 19
6 грудня 2023
Здається що arr ніде не оголошено. його треба оголосити, при чому бажано десь напочатку. Але якщо мені память не зраджує, то уже має бути оголошене array і можна використати його. array=new int[n];
Hunter FF Рівень 7
8 червня 2023
Підскажіть будь ласка чи потрібно створювати в хард задачі масив і заповнювати його числами?
SeVans Рівень 6
27 червня 2023
якщо про задачу Reverse, то спершу треба прийняти одне число потім перевірити якщо воно більше 0 то створити масив довжиною N(число яке прийняли) і зробити цикл в якому N разів заповнити створений масив ну і виконати всі умови задачі)
Олег Гуцол Рівень 6
3 березня 2023
Опис задач в цьому розділі то просто жесть!!! Тут потрібно ще якесь розяснення до умови і вимоги) В умові одна черговість дій а у вимогах інша.
AsVAN Рівень 48 Expert
13 березня 2023
Со временем станет более понятнее и проще
bogdan kravchuk Рівень 11
25 лютого 2023
Integer.parseInt взагалі не зрозумів що це таке. Допоможіть на пальцях. Бо перебрав кучу сайтів які це описують, і всеодно не зрозумів.
perlAI Рівень 6
27 лютого 2023
Це було декілька рівнів тому. Шукайте
les_yeux_blancs Рівень 50
18 квітня 2023
Integer.parseInt(String arg) намагається перетворити arg у ціле число
Марк Рівень 8
15 лютого 2023
Щось з хардом я швидше впорався, ніж з медіум
Kolapsec Рівень 7
28 листопада 2023
а в мене навпаки, з 2 задачами медіум майже не думав, в прикладі все є. А от хард...