# Input number and check perfect number or not using while loop in Java

###### while Loop - Question 8

In this question, we will see how to input a number and check if it is a perfect number or not in Java programming using while loop. To know more about while loop click on the while loop lesson.

Q8) Write a program in Java to input a number and check if it is a perfect number or not using while loop.

A Perfect number is a number, whose sum of the factors excluding the given number itself is equal to the given number.

Example: Sum of factors of 6 excluding 6 is 1+2+3 which is equal to 6, so 6 is a perfect number.

#### Program

``````import java.util.Scanner;

public class Q8
{
public static void main(String args[])
{
int i=1,n,sf=0;
Scanner sc=new Scanner(System.in);

System.out.print("Enter a number ");
n=sc.nextInt();

while(i<n)
{
if(n%i==0)
{
sf=sf+i; 		// sum of factors
}
i=i+1;
}

if(sf==n)
{
System.out.println("Perfect Number");
}
else
{
System.out.println("Not Perfect Number");
}
}
}``````

#### Output

```Enter a number 28
Perfect Number```