ICSE Class 10 Computer Applications Question 44 of 69

Iterative Constructs in Java — Question 44

Back to all questions
44
Question

Question 31

Write a menu driven class to accept a number from the user and check whether it is Palindrome or a Perfect number.

  1. Palindrome number: A number is a Palindrome which when read in reverse order is same as read in the right order Example: 11, 101, 151, etc.
  2. Perfect number: A number is called Perfect if it is equal to the sum of its factors other than the number itself.
    Example: 6 = 1 + 2 + 3
import java.util.Scanner;

public class KboatPalinOrPerfect
{
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        System.out.println("1. Palindrome number");
        System.out.println("2. Perfect number");
        System.out.print("Enter your choice: ");
        int choice = in.nextInt();
        System.out.print("Enter number: ");
        int num = in.nextInt();

        switch (choice) {
            case 1:
            int copyNum = num;
            int revNum = 0;

            while(copyNum != 0) {
                int digit = copyNum % 10;
                copyNum /= 10;
                revNum = revNum * 10 + digit;
            }

            if (revNum == num) 
                System.out.println(num + " is palindrome");
            else
                System.out.println(num + " is not palindrome");
            break;

            case 2:
            int sum = 0;

            for (int i = 1; i <= num / 2; i++) {
                if (num % i == 0) {
                    sum += i;
                }
            }

            if (num == sum) 
                System.out.println(num + " is a perfect number");
            else
                System.out.println(num + " is not a perfect number");
            break;

            default:
            System.out.println("Incorrect Choice");
            break;
        }
    }
}
Output
BlueJ output of KboatPalinOrPerfect.java
BlueJ output of KboatPalinOrPerfect.java
Answer