This article on Java Program to check Armstrong number will explain the following part with example and output:

1. What is an Armstrong number?

2. Java program to check the Armstrong Number(**for any digit number**) using a **while **and **for**.

3. Java program to check the Armstrong Number(using **Math.pow()** method).

## What is an Armstrong Number?

A number is said to be an **Armstrong Number** if even after the sum of its digits, where each digit is raised to the power of the number of digits is equal to the original number. For example 153, 371, 407, 9474, etc are Armstrong Number.

Follow the below calculation.

### Java program to check the Armstrong Number(**for any digit number**) using **while **and **for** loops.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import java.util.Scanner; public class ArmstrongNumber { public static void main(String[] args) { int n, num, totalDigits, remainder, result = 0; System.out.println("Enter the Number:"); Scanner scanner = new Scanner(System.in); n = scanner.nextInt(); scanner.close(); //setting the power to the no. of digits totalDigits = String.valueOf(n).length(); num = n; while (num != 0) { remainder = num % 10; int lastDigits = 1; for(int i = 0; i < totalDigits; i++) { lastDigits = lastDigits * remainder; } result = result + lastDigits; num /= 10; } if(result == n) System.out.println(n + " is an Armstrong number."); else System.out.println(n + " is not an Armstrong number."); } } |

**Output:** You can check for any digit Number.

1 2 3 | Enter the Number: 9474 9474 is an Armstrong number. |

**Explanation:**

First we create required variables(**n, num, totalDigits, remainder, result**). Get User Input and store it in **n**, then we need the number of digits present in that number and store it n **totalDigits** using code (totalDigits = **String.valueOf(n).length()**;). After that, copy the entered number to **num**.

Now start the while loop checking num is not equal to zero. While stops as soon as num becomes zero.

After each iteration of the while loop, the last digit of **num **is stored in **remainder** for the second use. We initiate an int variable **lastDigits** = 1

Now the for loop runs until the **totalDigits** less than **i** where is initiated as 0 and increase by 1 after each iteration. Inside for loop lastDigits is multiplied to **remainder **and the result is added to lastDigits.

After the end of for loop, the value of **lastDigits **is assigned to the **result **variable.

and at the end, we divide the **num **by 10 i.e num /= 10; which will remove the last digit from the number.

This step is continued until the **num** becomes 0.

At last, we will check with **if-else** statement whether the **result **is equal to the original number or not. If it is found equal,l then the entered number is an Armstrong Number.

### Java program to check the Armstrong Number(using **Math.pow()** method).

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | //check for armstrong number import java.util.Scanner; public class ArmstrongNumber { public static void main(String[] args) { int n, num, power, remainder, result = 0; System.out.println("Enter the Number:"); Scanner scanner = new Scanner(System.in); n = scanner.nextInt(); scanner.close(); //seting the power to the no. of digits power = String.valueOf(n).length(); num = n; while (num != 0) { remainder = num % 10; result += Math.pow(remainder, power); num /= 10; } if(result == n) System.out.println(n + " is an Armstrong number."); else System.out.println(n + " is not an Armstrong number."); } } |

**Output:** You can check for any digit Number.

1 2 3 | Enter the Number: 370 370 is an Armstrong number |

**Explanation**: In the above program we use the **inbuilt method** (**Math.pow**()) which makes it easy for us to calculate the raised power to the number.

The process is the same as explained for above, only the difference is instead of for loop we use the **method(Math.pow())** as `result += Math.pow(remainder, power);`

.

If we were to calculate for the only three-digit number then we can simply replace the code `result += Math.pow(remainder, power)`

; to `result = result + remainder*remainder*remainder;`

We hope this article on Java Program to check Armstrong number was helpful.

Learn more:

Java Programs