JavaRush/Курсы/Java Syntax Pro/Примеры использования массивов

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

Открыта

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


Комментарии (944)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anonymous #6463865
Уровень 6
18 мая, 07:47
// Задача 6-3-1: Написать программу, которая считывает с консоли
// целое число N. Если считанное число N больше 0, то программа
// дальше считывает целые числа, количество которых равно N.
// Вывести в консоль считанные числа, если N нечетное — в порядке
// ввода, иначе — в обратном порядке. Каждое число выводить с новой
// строки. Число N выводить не нужно.

Scanner console = new Scanner(System.in);
int N = console.nextInt();
if (N <= 0) { return; }

int[] array = new int[N];
for (int i = 0; i < N; i++) {
    array[i] = console.nextInt();
}

if (N % 2 == 0) {
    for (int i = 0; i < N; i++) {
        System.out.println(array[N - 1 - i]);
    }
} else {
    for (int i = 0; i < N; i++) {
        System.out.println(array[i]);
    }
}
Timur Salakhov
Уровень 21
21 января, 13:24
Работаем
Обезьяна
Уровень 43
20 января, 12:46
Что-то с последними двумя решениями намудрили) В плане того, какой ответ принимается, а какой нет
Ann
Уровень 6
Expert
13 декабря 2025, 17:01
На заметку всем, вдруг понадобится: Решила задачу Reverso, логика отрабатывала верно, но компилятор Java Rush не пропускал. Оказалось, всё из-за того что для удобства я добавила System.out.println("Введите число n:"); Закомментировала, скомпилировалось👍 Всем терпения💪
Denis Pereladov
Уровень 40
6 декабря 2025, 08:45
Я понял, что в дополнение к внимательному прочтению задания, нужно еще и данный код внимательно прочитать. А то у меня Hard получился намного легче, чем задачка про вывод минимального. А все из-за невнимательности.
d0vbnya
Уровень 2
5 декабря 2025, 16:38
ура hard, пошла возня)
d0vbnya
Уровень 2
5 декабря 2025, 17:13
ну все..30 мин потрачено задачи medium по циклам труднее были)
Michael's
Уровень 32
17 февраля, 11:03
не знаю, я наоборот на hard посидел подумал подольше. Последние 2 вообще как орешки щёлкнул
28 ноября 2025, 15:43
Работаем !
R
26 ноября 2025, 15:16
Очень редко занимаюсь на Java Rush в последнее время и честно говоря темп у меня уже совсем сильно сбился....
Michael's
Уровень 32
17 февраля, 11:04
возьми себя в руки. Если ты действительно этого хочешь, - ты будешь это делать. Мне самому 18 лет, я живу один с девушкой с 17ти. Работаю грузчиком с 16ти лет. Очень устал от такой жизни и хочу что то поменять. Раньше очень много бухал, курил. Сейчас уже почти полгода не курю и вообще не пью. Начал осуществлять детскую мечту - программирование. Стараюсь каждый день проходить по 1-2 уровня
Alex
Уровень 14
12 ноября 2025, 14:08
Так вот. вопрос по решению программистов из ДжавыРаш. Смотрите.... после создания нового объекта типа Сканнер, они пишут: int n = Integer.parseInt(scanner.nextLine()); вопрос - зачем? можно ведь просто написать int a = scanner.nextInt();. Где то пишут, что якобы соблюдается какая то чистота кода, что мол ошибок не будет... Так с чего бы им вообще быть. Я ввожу значения в консоли типа int, если ввиду String будет просто ошибка. так зачем вводить Integer.parseInt(scanner.nextLine()). Непонятно. И второй вопрос. Зачем в последней части кода, где идет сравнение каждого элемента массива при каждой итерации цикла с объявленной переменной int min = array[0]; внутри цикла вводят ЕЩЕ ОДНУ переменную int number = array[i];. Можно ведь сразу сравнивать array[i] с переменной MIN и в случае выполнения условия присваивать ему новое значение. Разве нет?
Emil Khamadiarov
Уровень 13
1 декабря 2025, 15:34
тоже не понимаю этого, 2 месяца решал задачи в gpt, там тоже нет таких проблем, порой компиляция не проходит, потому что код ни как у них сделан
Alex
Уровень 14
2 декабря 2025, 07:06
В общем попытаюсь пояснить как я понял. int n = Integer.parseInt(scanner.nextLine()); - строка записана таким образом, чтобы избежать ошибок, которые могут возникнуть при компиляции. В принципе можно было бы указать и int a = scanner.nextInt();., но тогда (в определенных случаях, которые не касаются данной программы) могли бы возникнуть ошибки. Предлагаю найти примеры в gpt, где конкретно покажут что может произойти, если не использовать Integer.parseInt. Проще говоря, это внутренняя реализация работы Сканнера.
Alex
Уровень 14
12 ноября 2025, 14:02
Ребята ВНИМАНИЕ!!!!! вот мой код для решение задачи с минимальным значением public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int[] array = new int[a]; for (int i = 0; i < array.length; i++) { array[i] = scanner.nextInt(); } // СПОСОБ 1. Так как хочет ДжаваРаш int min_value = array[0]; for (int i = 0; i < array.length; i++) { if (array[i] < min_value) { min_value = array[i]; } } System.out.println(min_value); // СПОСОБ 2. С использованием метода класса Arrays для сортировки массива и вывода первого (минимального) значения после сортировки. Arrays.sort(array, 0, array.length); System.out.println(array[0]); } }