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

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

Java Syntax Pro
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 включительно
  • Выводим на экран очередную ячейку массива

6
Задача
Java Syntax Pro, 6 уровень, 3 лекция
Недоступна
Reverse
Тебе нужно написать программу, которая: 1. Считывает с консоли целое число N. 2. Если считанное число N больше 0, то программа дальше считывает целые числа, количество которых равно N. 3. Вывести в консоль считанные числа, если N нечетное - в порядке ввода, иначе — в обратном порядке. Каждое число выводить с новой строки. Число N выводить не нужно.

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

6
Задача
Java Syntax Pro, 6 уровень, 3 лекция
Недоступна
Минимальное из N чисел
Чтобы выполнить эту задачу, тебе нужно: 1. Ввести с клавиатуры число N. 2. Считать N целых чисел и заполнить ими массив. 3. Найти минимальное число среди элементов массива и вывести в консоль.
6
Задача
Java Syntax Pro, 6 уровень, 3 лекция
Недоступна
Максимальное из N чисел
В этой задаче тебе нужно: 1. Ввести с клавиатуры число N. 2. Считать N целых чисел и заполнить ими массив array. 3. Найти максимальное число среди элементов массива.

Комментарии (907)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Anonymous #3541949 Уровень 9
17 июня 2025
посмотрел правильное решение задачи с минимальным числом, там была такая строка: int n = Integer.parseInt(scanner.nextLine()); зачем она нужна, если в задании никак не фигурируют строки?
13 июня 2025
Не знаю кто определил сложность задач, нл как по мне, все три задачи из категории "easy".
Даня Уровень 10
12 июня 2025
Как же меня бесит не полнота информации, просто вымораживает.
Anonymous #3555639 Уровень 9
3 июня 2025
2 одинаковые задачи на макс мин поменяь надо только 1) int min = Integer.MAX_VALUE;(в первой как есть оставляйте) используйте в цикле Math.max( 2) int min = Integer.MIN_VALUE;(копируйте с 1 MAX_VALUE и меняете MAX на MIN) Math.min(
Anonymous #3585174 Уровень 15
3 июня 2025
good
Davidamnz Уровень 6
27 мая 2025
Добавляют задачи уровня Hard, чтобы я понял, что мне показалось, что якобы я что то понял.
Алексей Уровень 25
8 мая 2025
В задаче "Максимальное из N чисел" сразу не заметил, что массив array, уже объявлен в классе Solution - public static int[] array; Будьте внимательнее, не повторяйте моей ошибки, а то я на 3 раз только заметил. Удачи!
REK.QA Уровень 10
5 мая 2025
Третья, полагаю, не вызывает вопросов. public class Solution { public static int[] array; public static void main(String[] args) throws Exception { Scanner console = new Scanner(System.in); int n = console.nextInt(); array = new int[n]; for (int i = 0; i < n; i++) { array[i] = console.nextInt(); } int max = array[0]; for (int i = 1; i < n; i++) { if (array[i] > max) max = array[i]; } System.out.println(max); } }
REK.QA Уровень 10
5 мая 2025
Вторая: public static int[] array; public static void main(String[] args) throws Exception { Scanner console = new Scanner(System.in); int n = console.nextInt(); array = new int[n]; for (int i = 0; i < n; i++) { array[i] = console.nextInt(); } int min = array[0]; for (int i = 1; i < n; i++) { if (array[i] < min) min = array[i]; } System.out.println(min); } }
Ivan Уровень 16
21 апреля 2025
Integer.parseInt(scanner.nextLine()); 🤬 ответ верный и без этого. можно просто scanner.nextInt(); но 1й тест не закроется👺. несмотря на то, что программа будет исправно работать. а для полноценной валидации ввода, как будто, одного parseInt() недостаточно. бог судья автору этих двух задач)