# Magic Number in Java

Write a java program to check whether a given number is a magic number or not.

A number is said to be a Magic number if the sum of its digits are calculated till a single digit is obtained by recursively adding the sum of its digits.

If the single digit comes to be 1 then the number is a magic number.

Example- 199 is a magic number as 1+9+9=19 but 19 is not a single digit number so 1+9=10 and then 1+0=1 which is a single digit number and also 1. Hence it is a magic number.

```import java.util.Scanner;
class MagicNumber
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
System.out.println("Enter the number");
int num = in.nextInt();
int n=num;

int sum = 0;
while(n>0 || sum>9)
{
if (n==0)
{
n = sum;
sum = 0;
}
sum += n%10;
n /= 10;
}

if(sum==1)
System.out.println(num + " is a Magic Number");
else
System.out.println(num + " is not a Magic Number");
}
}```

### Alternate Method

```import java.util.*;
class MagicNumberCheck
{
public static void main(String args[])
{
Scanner ob=new Scanner(System.in);
System.out.println("Enter the number to be checked.");
int n=ob.nextInt();
int sum=0, num=n;

while(num>9)
{
sum=num;int s=0;
while(sum!=0)
{
s=s+(sum%10);
sum=sum/10;
}
num=s;
}

if(num==1)
System.out.println(n+" is a Magic Number.");
else
System.out.println(n+" is not a Magic Number.");
}
}```