Java program to check armstrong number

Java Programming Language / Decision Making and Looping in java

1599

Write a program to find out the Armstrong number using user input.: This java program checks if a number is Armstrong or not. Armstrong number is a number which is equal to sum of digits raise.


Program:

import java.util.Scanner;
 
class ArmstrongNumber
{
   public static void main(String args[])
   {
      int n, sum = 0, temp, remainder, digits = 0;
 
      Scanner in = new Scanner(System.in);
      System.out.println("Input a number to check if it is an Armstrong number");      
      n = in.nextInt();
 
      temp = n;
 
      // Count number of digits
 
      while (temp != 0) {
         digits++;
         temp = temp/10;
      }
 
      temp = n;
 
      while (temp != 0) {
         remainder = temp%10;
         sum = sum + power(remainder, digits);
         temp = temp/10;
      }
 
      if (n == sum)
         System.out.println(n + " is an Armstrong number.");
      else
         System.out.println(n + " is not an Armstrong number.");         
   }
 
   static int power(int n, int r) {
      int c, p = 1;
 
      for (c = 1; c <= r; c++) 
         p = p*n;
 
      return p;   
   }
}

Output:

Output 1:
Input a number to check if it is an Armstrong number
45781
45781 is not an Armstrong number.
Output 2:
 Input a number to check if it is an Armstrong number
9926315
9926315 is an Armstrong number.
 

Explanation:

None

This Particular section is dedicated to Programs only. If you want learn more about Java Programming Language. Then you can visit below links to get more depth on this subject.