-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path041-Perfect-Number.java
More file actions
90 lines (67 loc) · 2.69 KB
/
Copy path041-Perfect-Number.java
File metadata and controls
90 lines (67 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/*
* ============================================================================
* Program Name : Perfect Number
* File Name : 041-Perfect-Number.java
* Class Name : PerfectNumber
*
* Description:
* This program accepts an integer from the user and checks whether
* the given number is a Perfect Number or not using the for loop.
*
* Objective:
* - Understand user input using the Scanner class.
* - Learn how to find the factors of a number.
* - Calculate the sum of proper factors.
* - Compare the sum of factors with the original number.
*
* Author : Shaik Mahaboob Basha
* Repository : 01-Core-Java
* Folder : 08-Java-Programs
* ============================================================================
*/
import java.util.Scanner;
public class PerfectNumber {
// The main() method is the entry point of every Java application.
public static void main(String[] args) {
// Create a Scanner object to read input from the keyboard.
Scanner scanner = new Scanner(System.in);
// Ask the user to enter a number.
System.out.print("Enter a Number: ");
// Read the number entered by the user.
int number = scanner.nextInt();
// Store the original number for comparison.
int originalNumber = number;
// Declare and initialize a variable to store the sum of factors.
int sum = 0;
// Check whether the entered number is valid.
if (number <= 0) {
// Display an error message.
System.out.println("Please enter a positive integer.");
// Example Output:
// Please enter a positive integer.
} else {
// Find all proper factors of the given number.
for (int i = 1; i < number; i++) {
// Check whether the current number is a factor.
if (number % i == 0) {
// Add the factor to the sum.
sum = sum + i;
}
}
// Check whether the sum of factors is equal to the original number.
if (sum == originalNumber) {
// Display that the number is a Perfect Number.
System.out.println(originalNumber + " is a Perfect Number.");
// Example Output:
// 28 is a Perfect Number.
} else {
// Display that the number is not a Perfect Number.
System.out.println(originalNumber + " is Not a Perfect Number.");
// Example Output:
// 25 is Not a Perfect Number.
}
}
// Close the Scanner object to release system resources.
scanner.close();
}
}