Оглавление:

Рекурсивное суммирование массива в Java: 9 шагов
Рекурсивное суммирование массива в Java: 9 шагов

Видео: Рекурсивное суммирование массива в Java: 9 шагов

Видео: Рекурсивное суммирование массива в Java: 9 шагов
Видео: Java урок - 9.1 Рекурсия. Задача суммы с 1 до n 2024, Ноябрь
Anonim
Рекурсивное суммирование массива в Java
Рекурсивное суммирование массива в Java

Рекурсия - очень полезная и эффективная по времени процедура, которая может быстро решить проблему с помощью очень небольшого количества кода. Рекурсия включает в себя созданный вами метод, вызывающий сам себя, сокращающий исходную проблему.

В этом примере мы будем суммировать массив из 10 целых чисел, но размер может быть любой длины.

Запасы

Вы должны знать базовый синтаксис Java и иметь свою IDE или текстовый редактор, чтобы написать код для этой задачи.

Шаг 1. Настройте свой основной метод

Настройте свой основной метод
Настройте свой основной метод

Для начала настройте свой основной метод во вновь созданном классе. Я назвал свой класс RecursiveSum. Здесь вы создадите массив целых чисел и вызовете свой рекурсивный метод.

Шаг 2. Создайте заголовок рекурсивного метода

Создайте свой заголовок рекурсивного метода
Создайте свой заголовок рекурсивного метода

Вне вашего основного метода создайте заголовок метода для вашего рекурсивного метода.

Этот метод является статическим, так как для его использования не требуется объект.

Тип возврата - int, так как массив, который мы будем использовать, будет заполнен целыми числами. Однако его можно изменить на любой числовой тип, содержащийся в массиве.

Я назвал свой метод recursiveSum, который будет принимать два параметра; массив целых чисел и индекс, который мы добавим к сумме. Я назвал эти параметры числами и индексом соответственно.

Вы увидите ошибки прямо сейчас, и это нормально. Они будут исправлены позже.

Шаг 3: Создайте свой кикер / базовый вариант

Создайте свой кикер / базовый вариант
Создайте свой кикер / базовый вариант

Рекурсивному методу нужен кикер / базовый случай. Это условие, при котором ваш метод не будет бесконечно вызывать сам себя. Этот базовый вариант можно рассматривать как самый простой случай, с которым мы столкнемся. В этом случае базовый случай будет, когда мы находимся в конце нашего массива. Если текущий индекс равен длине массива (минус 1, потому что массивы начинают отсчет с 0, а не с 1), мы находимся в конце и просто возвращаем этот элемент по этому индексу.

Шаг 4: Рекурсивный шаг

Рекурсивный шаг
Рекурсивный шаг

Когда у нас есть базовый вариант, следующим шагом будет наш рекурсивный шаг. Вот где происходит волшебство. Мы рассмотрели случай, когда наш индекс равен последнему элементу в нашем массиве. Что, если мы не на последнем элементе нашего массива? Что, если бы мы могли просто сказать ему добавить наш текущий элемент плюс следующий? В конце концов, мы дойдем до конца нашего массива, и наш базовый вариант вступит в силу.

Для этого мы просто возвращаем текущий индекс и «добавляем остальную часть» массива.

Шаг 5. Сократите проблему

Сократите проблему
Сократите проблему

Как нам просто «добавить остальное»? У нас уже есть метод, который добавит определенный элемент; наш метод recursiveSum ()! Мы можем вызвать его снова, но изменим индекс, который мы суммируем.

Мы передаем тот же массив, который обрабатываем, но передаем следующий индекс из нашего текущего индекса. Мы делаем это, просто добавляя единицу к нашему текущему индексу, как показано.

Шаг 6: Создайте массив целых чисел

Создайте массив целых чисел
Создайте массив целых чисел

Теперь, когда наш рекурсивный метод суммирования завершен, мы можем создать наш массив, который мы будем обрабатывать. Этот массив будет в нашем основном блоке метода.

Вы можете сделать массив произвольным. Я создал несколько разных массивов с разными размерами и значениями, чтобы показать, что он работает не только с одним размером.

Шаг 7: вызовите метод с вашими массивами

Вызов метода с вашими массивами
Вызов метода с вашими массивами

Теперь вы можете вызвать свой рекурсивный метод и передать ему эти массивы. Теперь вы можете запустить свою программу.

Шаг 8: Распечатайте результаты

Распечатать результаты
Распечатать результаты
Распечатать результаты
Распечатать результаты

Ничего не произошло. Почему? Рекурсивная сумма возвращает целое число, но мы ничего не сделали с этим целым числом. Он сделал свое дело, но результата мы не видим. Чтобы увидеть результат, просто распечатываем его вот так. После запуска вы должны увидеть результаты для каждого из ваших массивов.

Шаг 9: поздравляем

Вы выполнили рекурсивную функцию. Не стесняйтесь изменять размер ваших массивов. Если вы его протестируете, вы заметите, что он вылетает, когда у вас пустой массив. Мы не учли этого, но это отличный способ улучшить ваш рекурсивный метод.

Рекомендуемые: