Число Армстронга через функцию в Java — пример с методом

Чтобы найти все числа Армстронга в заданном интервале, создадим функцию checkArmstrong(). Она проверяет, является ли переданное число числом Армстронга.

Примечание

Число Армстронга — это число, равное сумме своих цифр, возведённых в степень, равную количеству цифр. Например, 153 = 1³ + 5³ + 3³.

Пример: числа Армстронга между двумя числами

public class Armstrong {

    public static void main(String[] args) {

        int low = 999, high = 99999;

        for(int number = low + 1; number < high; ++number) {

            if (checkArmstrong(number))
                System.out.print(number + " ");
        }
    }

    public static boolean checkArmstrong(int num) {
        int digits = 0;
        int result = 0;
        int originalNumber = num;

        // подсчёт количества цифр
        while (originalNumber != 0) {
            originalNumber /= 10;
            ++digits;
        }

        originalNumber = num;

        // result хранит сумму цифр, возведённых в n-ю степень
        while (originalNumber != 0) {
            int remainder = originalNumber % 10;
            result += Math.pow(remainder, digits);
            originalNumber /= 10;
        }

        if (result == num)
            return true;

        return false;
    }
}

Вывод:

1634 8208 9474 54748 92727 93084

В программе выше мы создали функцию checkArmstrong(), которая принимает параметр num и возвращает логическое значение.

Если число — Армстронга, функция возвращает true. Иначе — false. В зависимости от результата число выводится в методе main().