Free Data Structures and Algorithms Course









Subscribe below and get all best seller courses for free !!!










OR



Subscribe to all free courses

Write a menu‐driven class to accept a number from the user and check whether it is a Perfect number or not in Java.

Program to demonstrate a menu‐driven class to accept a number from the user and check whether it is a Perfect number or not in Java.

Perfect number – a number is called a Perfect number if it is equal to the sum of its factors other
than the number itself. Example: 6 = 1 + 2 + 3.

package com.hubberspot.java.example;

import java.util.Scanner;

public class PerfectNumberTest {


    public static void main(String[] args) {

        char program;
        Scanner scanner = new Scanner(System.in);
        do { 

            System.out.println("Press 'P' for Perfect Number Test or 'E' for Exit");

            program = scanner.nextLine().toUpperCase().charAt(0);

            if(program != 'P' && program != 'E') { 
                System.out.println();
                System.out.println("You entered : " + program);
                System.out.println("Please enter P or E to proceed ... try again");
                System.out.println();
                continue;
            } 
            else { 
                switch( program )
                {
                case 'P': 
                    System.out.print( "Enter number for Perfect Number checking: " );

                    int number = scanner.nextInt();
                    String line = scanner.nextLine();

                    if( isPerfectNumber( number ) )
                    {
                        System.out.println( number + " is a perfect number." );
                    }
                    else
                    {
                        System.out.println( number + " is not a perfect number." );
                    }
                    break;
                }
            }

            System.out.println();

            if( program == 'E') { 
                System.out.println("Exiting from the program...");
            }
        }
        while(program != 'E');


    }

    private static boolean isPerfectNumber(int number) {

        int sumOfFactors = 0; 
                
        for( int i = 1; i < number; i++ )
        {
            if( (number % i ) == 0 )
            {
                sumOfFactors = sumOfFactors + i;
            }
        }
        return( sumOfFactors == number );

    }

}


Output of the program : 

 
 
© 2021 Learn Java by Examples Template by Hubberspot