Course

Java Program to Display Armstrong Numbers Between Intervals Using Function

To understand this example, you should have the knowledge of the following Java programming topics:


To find all Armstrong numbers between two integers, checkArmstrong() function is created. This function checks whether a number is Armstrong or not.

Example: Armstrong Numbers Between Two Integers


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;

        // number of digits calculation
        while (originalNumber != 0) {
            originalNumber /= 10;
            ++digits;
        }

        originalNumber = num;

        // result contains sum of nth power of its digits
        while (originalNumber != 0) {
            int remainder = originalNumber % 10;
            result += Math.pow(remainder, digits);
            originalNumber /= 10;
        }

        if (result == num)
            return true;

        return false;
    }
}

Output


1634 8208 9474 54748 92727 93084

In the above program, we’ve created a function named checkArmstrong() which takes a parameter num and returns a boolean value.

If the number is Armstrong, it returns true. If not, it returns false.

Based on the return value, the number is printed on the screen inside main() function.


Also Read: