Примеры использования массивов


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 включительно
  • Если текущий элемент массива меньше «найденного минимального числа»
  • то «обновить значение минимального числа»
  • Вывести найденное минимальное число на экран


Комментарии (7)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Александр Евтеев Java Developer в Лига цифровой эконом
20 марта, 10:42
Странно, что нет одного из самых ходовых примеров! Cледующая статья про массив String[], но там этого тоже нет: Разбиваем строку сплитом, например, по пробелам или запятым И результат (каждая часть) записывается в отдельную ячейку массива При этом размер массива указывать не надо: он сам создается нужного размера, по количеству частей:
String str = "abc   123  def";
String[] arr = str.split("\\s+");
System.out.println(Arrays.toString(arr)); // [abc, 123, def]
Александр Евтеев Java Developer в Лига цифровой эконом
20 марта, 11:43
Немного не по теме массивов, а про String, но вдруг кто-то не знает: на литерале тоже можно вызывать методы класса String И такой код тоже будет работать:
String[] arr = "abc   123  456".split("\\s+");
System.out.println(Arrays.toString(arr));  // [abc, 123, def]
Selina
Уровень 1, Москва
13 января, 10:30
Массив распечатается верно, если правильно поставить все скобки)
Dizzz Malakhov
Уровень 20, Иваново, Россия
28 ноября 2020, 04:08
ОШИБКА Заполнение массива из 10 чисел числами от 10 до 1: int[] array = new int[10]; for (int i = 0; i < 10; i++) { array[i] = 10 - i; } Этот код заполнит массив элементами от -1 до 8.
Кирилл
Уровень 19, Москва, Россия
29 ноября 2020, 13:36
Gennady D
Уровень 7, Москва, Россия
16 июня 2020, 13:13
Заполнение массива из 10 чисел числами от 1 до 10: и Заполнение массива из 10 чисел числами от 10 до 1: Ошибки в реализации )
Selina
Уровень 1, Москва
13 января, 10:26
Вывод на печать массива надо делать в цикле, правильно расставить скобки)