English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Ввод/Вывод (I/O)

Java Reader/Writer

Другие темы Java

Java-программа находит сумму натуральных чисел с помощью рекурсии

Java полный список примеров

В этой программе вы научитесь использовать рекурсию в Java для нахождения суммы натуральных чисел. Это выполняется с помощью рекурсивной функции.

Числа 1, 2, 3 ... называются натуральными числами. В этом примере программа получает от пользователя положительное целое число и вычисляет сумму данных чисел.

Вы также можетеНайти сумму натуральных чисел с помощью цикла  Но вы здесь научитесь решать эту задачу с помощью рекурсии.

Пример: использование рекурсии для нахождения суммы натуральных чисел

public class AddNumbers {
    public static void main(String[] args) {
        int number = 20;
        int sum = addNumbers(number);
        System.out.println("Sum = " + sum);
    }
    public static int addNumbers(int num) {
        if (num != 0)
            return num + addNumbers(num - 1);
        else
            return num;
    }
}

При запуске программы выводится:

Sum = 210

Сумма чисел хранится в переменной number.

Вначале функция addNumbers() вызывается из функции main() с параметром 20.

Число 20 добавляется к результату addNumbers(19).

В следующем вызове функции addNumbers() передается 19, и это значение добавляется к результату addNumbers(18). Этот процесс продолжается до тех пор, пока num не станет равным 0.

Когда num равно 0, не вызывается рекурсия, и сумма возвращается функции main().

Java полный список примеров