Armstrong number in java: In the previous article, we have discussed Java Program to Check Tech Number
In this article we will see different ways to check whether a number is Armstrong number or not. But before moving to thee actual concept, let’s first know what is this Armstrong number then we will move to the next part.
Program to check Armstrong number
Concept:
‘3’ digit number in which cube sum of all it’s digit is equal to the number it self is called as Armstrong number.
For example :
407 is an Armstrong number since (4*4*4)+(0*0*0)+(7*7*7)=407
We will see different ways to check Armstrong number.
- Checking Armstrong number using while loop
- Checking Armstrong number using for loop
- Checking Armstrong number using bufferedReader
- Checking Armstrong number using recursion
So, let’s start one by one.
Method 1: Checking Armstrong number using while loop
By using while loop we can check Armstrong number.
Approach:
- Take a number .
- Using while loop Calculate its cube sum of digits .
- Compare with the original number and print according to it .
Program:
import java.util.Scanner; public class Main { public static void main(String[] args) { // CREATING OBJECT Scanner sc = new Scanner(System.in); // TAKING STRING FORM USER System.out.print("Enter the number : "); int n= sc.nextInt(); // storing original value in temp variable int k=n; int temp=0; // calculating the cube sum of digit of that number while(n>0) { int a=n%10; temp=temp+(a*a*a); n=n/10; } // comparing with the original value and printing it. if (k==temp) System.out.print(k + " Is an Armstrong"); else System.out.print(k+ "Is an Not Armstrong"); } }
Output: Enter the number : 407 407 Is an Armstrong
Method 2: Checking Armstrong number using for loop
By using for loop we can check Armstrong number.
Approach:
- Take a number .
- Using for loop Calculate its cube sum of digits .
- Compare with the original number and print according to it .
Program:
import java.util.Scanner; public class Main { public static void main(String[] args) { // CREATING OBJECT Scanner sc = new Scanner(System.in); // TAKING STRING FORM USER System.out.print("Enter the number : "); int n= sc.nextInt(); // storing original value in temp variable int k=n; int temp=0; // calculating the cube sum of digit of that number for( ;n!=0;n/=10 ) { int a=n%10; temp=temp+(a*a*a); } // comparing with the orginal value and printing it. if (k==temp) System.out.print(k + " Is an Amstrong"); else System.out.print(k+ " Is Not an Amstrong"); } }
Output: Enter the number : 407 407 Is an Armstrong
Method 3: Checking Armstrong number using bufferedReader
Above two methods we saw using for loop and while loop. But in this we will take user input by using bufferedReader class.
Approach:
- Create a bufferedReader class.
- Take a number .
- Using for loop Calculate its cube sum of digits .
- Compare with the original number and print according to it .
Program:
import java.io.*; public class Main { public static void main(String[] args) throws IOException { // CREATING OBJECT BufferedReader b = new BufferedReader(new InputStreamReader(System.in)); // TAKING STRING FORM USER System.out.print("Enter the number : "); int n= Integer.parseInt(b.readLine()); // storing original value in temp variable int k=n; int temp=0; // calculating the cube sum of digit of that number for( ;n!=0;n/=10 ) { int a=n%10; temp=temp+(a*a*a); } // comparing with the orginal value and printing it. if (k==temp) System.out.print(k + " Is an Amstrong"); else System.out.print(k+ " Is Not an Amstrong"); } }
Output: Enter the number : 407 407 Is an Armstrong
Method 4: Checking Armstrong number using recursion
By using recursion we can check Armstrong number.
Approach:
- Create a function that will calculate and return the sum of cube of digit .
- Take a number .
- Parse the entered value to that function and store it to a variable .
- Compare with the original number and print according to it .
Program:
import java.util.Scanner; public class Main { int fams(int n,int a) { //calculating cube sum of digits if(n!=0) { int x=n%10; a=a+(x*x*x); n/=10 ; return fams(n,a); } return a; } public static void main(String[] args) { // CREATING OBJECT Scanner sc = new Scanner(System.in); // TAKING STRING FORM USER System.out.print("Enter the number : "); int n= sc.nextInt(); // storing original value in temp variable int k=n; // creating the object of main function Main ams= new Main(); //parsing value to the function int temp=ams.fams(n,0); // comparing with the orginal value and printing it. if (k==temp) System.out.print(k + " Is an Amstrong"); else System.out.print(k+ " Is Not an Amstrong"); } }
Output: Enter the number : 407 407 Is an Armstrong
Understand the Programming Language Java and learn the language fastly by using our wide range of Java Programming Examples with Output and try to write programs on your own.
Related Java Decision Making and Loop Programs:
- Java Program to Display Armstrong Number Between Two Intervals
- Java Program to Check Leap Year
- Java Program to Check Whether a Number is Positive or Negative
- Java Program to Check Whether a Character is Alphabet or Not
- Java Program to Calculate the Sum of Natural Numbers
- Java Program to Find Factorial of a Number
- Java Program to Generate Multiplication Table
- Java Program to Find GCD of two Numbers
- Java Program to Find LCM of two Numbers
- Java Program to Display Alphabets (A to Z) using loop
- Java Program to Count Number of Digits in an Integer
- Java Program to Check Palindrome
- Java Program to Check Whether a Number is Prime or Not
- Java Program to Make a Simple Calculator Using switch…case
- Java Program to Sort Elements in Lexicographical Order (Dictionary Order)