Updated April 7, 2023

## Definition of Java Perfect Number

Java provides a different kind of number system to the user; the perfect number is also one kind of number system that is provided by java. We can consider any number as a perfect number in Java. If all factors excluding the number it is equal to the given number, then we can consider the given number to be a perfect number. In Java, we can use different ways to find the perfect number. Basically, the perfect number is nothing but any number whose base is 10 in the number system, and it is a subfield of the number system in mathematics. As per user requirements, we can use the perfect number system.

### Logic behind Perfect number

Now let’s see the logic behind the perfect number in java as follows.

The basic logic of the perfect number is very simple. First, we need to find out the positive factor of a given number then make a sum of all factors excluding the number itself. If the sum of the factor is equal to the given number, then we can say that the given number is the perfect number, and if the sum of the factor is not equal to the given number, then we can say that the given number is not a perfect number. Let’s see an example of a perfect number; then we will get a detailed idea as follows.

Suppose we need to check if 8 is a perfect number or not.

- First find out the positive factor that is 1, 2, 4, and 8. Now make the addition of all factors excluding the 8, and we get the result is 7. Now compare the result with the given number; see here both numbers are different. That means we can say that this number is not a perfect number.
- Now let’s consider another number: 6.
- Find the positive factor of 6 is that 1, 2, 3, and 6.
- The Sum of all factors is 6, excluding 6.
- Now compare the result with the given number, see here the given number and result is the same that means we can say that the given number is a perfect number.

### How to Check Perfect number in Java?

Now let’s see how to check the perfect number java as follows. In java programming, there are three different ways to check the perfect number as follows.

#### 1. By using while loop

In the while loop, we need to follow some steps as follows.

1. First, we need to read the number entered from the user.

2. The loop will continue until the condition (j<=no/2) is false. If the remainder of no/j is 0, then add the value of j into the sum and increase the value of j. After completion of all iterations, compare the result. If the booth number is equal, then print the given number as a perfect number; else, print the given number as not a perfect number.

3. For example no=8, j=1 no/2=4, so j <=4 means condition is true, now find the factor.

8%j=0 true then sum =1

J=2 2<4 is true 8%2 =0 is true and sum= 1+3=3.

So in this way, we complete all the iterations to find the perfect number.

#### 2. By using Static Method

In this method, we can call a static method to check the perfect number; in this method, we just need to call the PerfacOrNot method. It automatically calculates the sum of all positive factors and checks if the given number is perfect or not.

#### 3. By using the recursion Method

In this method, we also call the PerfectOrNot () method using objects. In this method, execution starts itself and calls PerfectOrNot (). It repeats the iteration until the j<= number/2 is false.

### Examples

Now let’s see the different examples of perfect numbers in Java as follows.

#### Example #1

**Code:**

```
import java.util.Scanner;
class Perfect_number1
{
public static void main(String arg[])
{
long num,s=0;
Scanner s_c=new Scanner(System.in);
System.out.println("Enter number");
num=s_c.nextLong();
int j=1;
while(j<=num/2)
{
if(num%j==0)
{
s+=j;
}
j++;
}
if(s==num)
{
System.out.println(num+" the given number is perfect number");
}
else
System.out.println(num+" the given number is not perfect number");
}
}
```

**Explanation**

By using the above program, we try to implement perfect numbers in java with a while loop. The coding of the above program is very simple here we created the main method; inside the main method, we use scanner class and while loop to find a factor of a given number and add that factor into the s variable that is the sum of the factor as shown in the above program. Finally, we compare both numbers and print the message as per the comparison. The final output of the above program we illustrate by using the following screenshot as follows.

#### Example #2

Now let’s see another example of a perfect number by using the static method as follows.

**Code:**

```
import java.util.Scanner;
class Perfect_Method
{
public static void main(String arg[])
{
long num,m;
Scanner s_c=new Scanner(System.in);
System.out.println("Enter number");
num=s_c.nextLong();
m=perfectOrNot(num);
if(m==num)
System.out.println(num+" The given number is perfect number");
else
System.out.println(num+" The given number is not perfect number");
}
static long perfectOrNot(long n)
{
long s=0;
for(int j=1;j<=n/2;j++)
{
if(n%j==0)
{
s+=j;
}
}
return s;
}
}
```

**Explanation**

In the above program, we use a static method to check if a given number is a perfect number or not. In the above program, we use the perfecOrNot () method. After that, we use a for loop to find the factors of the given number, and the remaining process is the same, that is, to compare the result with the given number and print a message according to the comparison. The final output of the above program we illustrate by using the following screenshot as follows.

#### Example #3

Now let’s see another example to check perfect numbers by using the recursive Method as follows.

**Code:**

```
public class Recursive
{
static int n = 200;
static int s = 0;
static int d = 1;
static int findPerfect(int n, int d) {
{
if(d<=n/2)
{
if(n%d==0)
{
s+=d;
}
d++;
findPerfect(n,d);
}
return s;
}
}
public static void main(String args[])
{
int r = findPerfect(n,d);
if(r == n)
System.out.println(" The given number is perfect Number");
else System.out.println("The given number is not perfect Number");
}
}
```

**Explanation**

In the above program, we are using a recursive method to check the perfect number. The final output of the above program we illustrate by using the following screenshot as follows.

### Conclusion

We hope from this article you learn Perfect Number in java. From the above article, we have learned the basic logic of Perfect Numbers, and we also see different examples of Perfect Numbers. From this article, we learned how and when we use the Perfect Number in java.

### Recommended Articles

This is a guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect numbers in Java? examples with code implementation. You may also have a look at the following articles to learn more –