# How To Calculate Armstrong Number In Java Without Using Recursion

0
108
• 1
•
•
•
•
•
•
•
•
•
1
Share Armstrong Number In Java Without Using Recursion

In my previous post here I have shown how to calculate Armstrong number using recursion technique.In this post Devopriya also tried the same thing using only while condition. This is done not using recursion Technique.
An Armstrong number of three digits is an integer such that the sum of the cubes of its digits is equal to the number itself. For example, 371 is an Armstrong number since 3**3 + 7**3 + 1**3 = 371.My objective is to find out all the Armstrong Number between 1-999
The main function is pretty similar

``````
public static void main(String[] args) {
// TODO Auto-generated method stub
arms ab=new arms();
//I have given the class name as arms

for(int i=0;i<999;i++  )
{
if(isarmstrong(i,(ab.getNumber(i))))
//getNumber is the function which will get a number and calculate the value as
//per Armstrong principal
{
System.out.println("The Armstrong number is" +i);
}
}

``````

The supporting functions are …

• isaermstrong
• cube
• The isarmstromg method looks like-

``````
public static boolean isarmstrong(int mainnumber,int calculatedval)
// this method will take the main number and the calculated value obtained from
//getNumber and will determine if they are same.
{
if(mainnumber==calculatedval)
return true;
else
return false;

}

``````

The cube method will look like-

``````
public int cube(int a)
//takes some integer value
{
return a*a*a;
// returns the cube value for that number

}
``````

Now lets look the getNumber function this is the heart of this method.

``````
public int getNumber(int a)
{
result=0;
int b;
while(a>0)
{ b=a%10;
//get the remainder
result=result +cube(b);
//add the cube of the remainder to result
a=a/10;
//divide the number by 10
}

return result;
}
``````

Let us look at the total class implementation:

``````
public class arms {

static int result=0;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
arms ab=new arms();

for(int i=0;i<3000;i ++ )
{
if(isarmstrong(i,(ab.getNumber(i))))
{
System.out.println("The Armstrong number is"+ i);
}
}
}

public static boolean isarmstrong(int mainnumber,int calculatedval)
{
if(mainnumber==calculatedval)
return true;
else
return false;

}
public int cube(int a)
{
return a*a*a;

}
public int getNumber(int a)
{
result=0;
int b;
while(a>0)
{ b=a%10;
result=result +cube(b);
a=a/10;
}

return result;

}

}

``````

Let me know if you like this concept.
The output??

```The Armstrong number0
The Armstrong number1
The Armstrong number153
The Armstrong number370
The Armstrong number371
The Armstrong number407
```
Don't miss out!

Receive top technical news, lesson ideas, travel tips and more!

Give it a try. You can unsubscribe at any time.