Skip to Main Content

New to Java

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Perfect number

843789Apr 14 2009 — edited Apr 14 2009
One exercise ask me to write a program to check whether a number is perfect number?
Here is my work
	private static void getPerfectNumber(int perfectNumber) {
		if (testPerfectNumber(perfectNumber)) {
			System.out.println("true");
		} else {
			System.out.println("false");
		}
	}

	private static boolean testPerfectNumber(int perfectNumber) {
		int acc = 0; // Accumulate
		for (int i = 1; i < perfectNumber - 1; i++) {
			if (perfectNumber % i == 0) {
				acc += i;
			}
		}
		if (testTotal(perfectNumber, acc)) {
			return true;
		}
		return false;
	}
	private static boolean testTotal(int perfectNumber, int acc) {
		if (perfectNumber == acc) {
			return true;
		}
		return false;
	}
	public static void main(String[] args) {
		int perfectNumber;     //A positive integer number
		Scanner kb = new Scanner(System.in);
		perfectNumber = kb.nextInt();
		getPerfectNumber(perfectNumber);
	}
I also find out that there is no odd perfect number. L^o^L
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 12 2009
Added on Apr 14 2009
16 comments
119 views