JavaRush /Курси /Java Syntax Zero /Приклади використання масивів

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

Java Syntax Zero
Рівень 6 , Лекція 3
Відкрита

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
Теж попався на об'явленому масиві... Прикра помилка
hidden #3500645 Рівень 30
29 жовтня 2024
як я Вас розумію 😅 підловили багатьох на цій задачі
ivan Рівень 10
5 травня 2024
витратив два дні перечитав та перепробував купу варіантів і виявилось що самий перший варіант вірний тільки не треба було перевіряти введене число більше за 0 чи ні....😒😒🤦‍♂️
hidden #3500645 Рівень 30
29 жовтня 2024
у мене пройшло перевірку рішення і з умовою що число більше нуля, просто потрібно якщо ставити умову, то весь код повністю в неї помістити, бо інакше програма не зрозуміє:

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