JAVA program to check whether the given number is a palindrome or not
This JAVA program is to check whether the given number is a palindrome or not. For example 121 is a palindromic number. As when you reverse 121 you get the same number.
Logic
We use the same reverse logic which we used in the program to reverse a number. Once we find the reverse of a number just compare it to the original number. If it matches then the number is a palindromic number else it is not.
Dry Run of the Program
Take input ‘n’. Let us take n=121
Keep a copy of n in originalNum i.e. originalNum=121
1st iteration while(n!=0) i.e. while(121!=0)
remainder=n%10 i.e. remainder =121%10 hence remainder=1
reversedNum=reversedNum*10+remainder i.e. reverse=0*10+1 hence reversedNum=1
n=n/10 i.e. n=121/10 hence n=12
2nd iteration while(n!=0) i.e. while(12!=0)
remainder=n%10 i.e. remainder =12%10 hence remainder=2
reversedNum=reversedNum*10+remainder i.e. reversedNum=1*10+2 i.e. reverse=10+2 hence reversedNum=12
n=n/10 i.e. n=12/10 hence n=1
3rd iteration while(n!=0) i.e. while(1!=0)
remainder=n%10 i.e. remainder =1%10 hence remainder=1
reversedNum=reversedNum*10+remainder i.e. reverse=12*10+1 i.e. reverse=120+1 hence reversedNum=121
n=n/10 i.e. n=1/10 hence n=0
While Loop ends here as n=0.
Check if the IF condition is satisfied.
if(originalNum==reversedNum) i.e. if(121==121)
The condition is true.
Hence the number is a palindromic number.
Program
import java.util.*; class palindromeNum { public static void main(String args[]) { int n,reversedNum=0,remainder,originalNum; Scanner sc = new Scanner(System.in); System.out.println("Enter a number"); n=sc.nextInt(); originalNum = n; while(n!=0) { remainder=n%10; reversedNum=reversedNum*10+remainder; n=n/10; } if (originalNum==reversedNum) { System.out.println(originalNum+" is a palindrome"); } else { System.out.println(originalNum+" is not a palindrome"); } } }