In this program, we will learn **How to Check Armstrong Number in Java Programming Language**. Let’s understand Armstrong numbers and then we will code the **Java Program to Check Armstrong Number.**

**What is Armstrong Number?**

**Armstrong numbers **are numbers that are equal to the sum of the cubes of its digit. **Armstrong numbers **are also called **Narcissistic Numbers**.

For example, **0, 1, 153, 370, 371, and 407** are some Armstrong numbers.

**let's see 407,**
**4³ + 0³ + 7³ = 64 + 0 + 343 = 407**
Hence, 407 is an Armstrong number.

Let’s see the **Java Program to Check Armstrong Number.**

**Java Program to Check Armstrong Number**

import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("Enter the number : "); int number = sc.nextInt(); if(number == 0 || number == 1){ System.out.println(""+number+" is an Armstrong Number !"); return; } int num = number; // preserving the original number int sum = 0; while(num > 0){ int digit = num % 10; sum += Math.pow(digit,3); num = num / 10; } if(sum == number){ System.out.println(""+number+" is an Armstrong Number !"); }else{ System.out.println(""+number+" is NOT an Armstrong Number !"); } } }

**Output 1**

```
Enter the number: 370
```**370 is an Armstrong Number !**

**Output 2**

```
Enter the number: 147
```**147 is NOT an Armstrong Number !**

**How Does This Program Work ?**

**How Does This Program Work ?**

Scanner sc = new Scanner(System.in); System.out.println("Enter the number : "); int number = sc.nextInt();

In this Program, first, we take the input of the number from the user using the Scanner Class in Java.

if(number == 0 || number == 1){ System.out.println(""+number+" is an Armstrong Number !"); return; }

Then, we check whether the given number is 0 or 1. If the given number is 0 or 1, we display that the given number is an Armstrong number and we return, as there is no need to perform any further calculation to check so.

int num = number; // preserving the original number int sum = 0;

then, we declare two variables of** int** datatype. Variable **num** stores the value of the number to perform the calculation on digits and by this, the original number is also preserved in variable named** number**. Then, we assign the variable sum with the value 0 to store the sum of the cube of the digits of the given number.

while(num > 0){ int digit = num % 10; sum += Math.pow(digit,3); num = num / 10; } if(sum == number){ System.out.println(""+number+" is an Armstrong Number !"); }else{ System.out.println(""+number+" is NOT an Armstrong Number !"); }

Then, we used a while to get each digit of the number and then we sum the cube of the digits. We used **Math.pow() **function to cube the digits.

Let’s take an example of number **407**,

In first iteration,** 407 > 0 **so we go into the loop, **digit = 407 % 10 = 7**, then **sum = sum + Math.pow(7,3) = 0 + 7³ = 343.**

Then, the num becomes **407 / 10 = 40.**

In second iteration,** 40 > 0, digit = 40 % 10 = 0, **then **sum = sum + 0³ = 343 + 0 = 343, and 40 / 10 = 4**

In third iteration, **4 > 0, digit = 4 % 10 = 4,** then **sum = sum + 4³ = 343 + 64 = 407, and 4 / 10 = 0**.

Now, as the num is not greater than 0, the while loop is terminated.

Then, we check if the **sum is equal to the original number stored in variable number,** we print that the **given number is an Armstrong number**, otherwise, we print the **given number is not an Armstrong number. **

This is the **Java Program to Check Armstrong Number.**

**Conclusion**

I hope after going through this post, you understand **Java Program to Check Armstrong number.**

If you have any doubt regarding the topic, feel free to contact us in the Comment Section. We will be delighted to help you.

**Also Read:**