Answer
Check if a Number is Palindrome
Java
public class Palindrome {
public static void main(String[] args) {
int lastDigit, sum = 0, a;
int inputNumber = 171;
a = inputNumber;
// Code to reverse a number
while (a > 0) {
System.out.println("Input Number " + a);
lastDigit = a % 10; // extract last digit
System.out.println("Last Digit " + lastDigit);
System.out.println("Digit " + lastDigit +
" was added to sum " + (sum * 10));
sum = (sum * 10) + lastDigit; // build reversed number
a = a / 10; // remove last digit
}
// If reversed number equals original → palindrome
if (sum == inputNumber)
System.out.println("Number is palindrome");
else
System.out.println("Number is not palindrome");
}
}
Output (for 171)
CODE
Input Number 171
Last Digit 1
Digit 1 was added to sum 0
Input Number 17
Last Digit 7
Digit 7 was added to sum 10
Input Number 1
Last Digit 1
Digit 1 was added to sum 170
Number is palindrome
Clean Version
Java
public class NumberPalindromeClean {
public static void main(String[] args) {
int inputNumber = 121;
int original = inputNumber;
int reversed = 0;
while (inputNumber > 0) {
int lastDigit = inputNumber % 10;
reversed = (reversed * 10) + lastDigit;
inputNumber = inputNumber / 10;
}
if (reversed == original)
System.out.println(original + " is a Palindrome number");
else
System.out.println(original + " is NOT a Palindrome number");
}
}
Test Multiple Numbers
Java
int[] numbers = { 121, 131, 171, 123, 1001, 1221 };
for (int num : numbers) {
int reversed = 0, temp = num;
while (temp > 0) {
reversed = reversed * 10 + temp % 10;
temp /= 10;
}
System.out.println(num + " → " + (reversed == num ? "Palindrome" : "Not Palindrome"));
}
Output
CODE
121 → Palindrome
131 → Palindrome
171 → Palindrome
123 → Not Palindrome
1001 → Not Palindrome
1221 → Palindrome
Number vs String Palindrome
| Number Palindrome | String Palindrome | |
|---|---|---|
| Input | int num = 121 | String s = "madam" |
| Method | Reverse digits with % 10 | Reverse with StringBuilder.reverse() |
| Compare | reversed == original | rev.equals(s) |
