A palindrome program in Java verifies whether a given number or string remains the same when reversed. Common examples include numbers like 121 and strings like “madam”. Palindrome logic is a core concept in interviews and beginner Java problem-solving.
Example of Palindrome Number:
- 121 → Palindrome
- 123 → Not a Palindrome
- 1331 → Palindrome
Methods to Check If a Number Is a Palindrome Number in Java
There are multiple ways to implement a palindrome program in Java, depending on whether you prefer loops, recursion, or strings.
1. Check for Palindrome Number Using Iteration (Palindrome Program in Java Using For Loop)
This is the most commonly used approach.
Algorithm:
- Store the original number.
- Reverse the number using a loop.
- Compare the reversed number with the original.
public class PalindromeNumber {
public static void main(String[] args) {
int num = 121, rev = 0, temp = num;
for (; num != 0; num /= 10) {
rev = rev * 10 + num % 10;
}
if (temp == rev)
System.out.println(“Palindrome Number”);
else
System.out.println(“Not a Palindrome Number”);
}
}
✔ This approach is efficient and widely used in interviews.
Program to Check for Palindrome Numbers in Java (Using While Loop)
int num = 1221, rev = 0, temp = num;
while (num > 0) {
rev = rev * 10 + num % 10;
num /= 10;
}
System.out.println(temp == rev ? “Palindrome” : “Not Palindrome”);
2. Check for Palindrome Numbers Using Recursion
This approach is helpful for understanding recursion logic.
public class PalindromeRecursion {
static int rev = 0;
static int reverse(int num) {
if (num == 0)
return rev;
rev = rev * 10 + num % 10;
return reverse(num / 10);
}
public static void main(String[] args) {
int num = 121;
if (num == reverse(num))
System.out.println(“Palindrome Number”);
else
System.out.println(“Not Palindrome”);
}
}
✔ Demonstrates recursive problem-solving in Java.
Palindrome BigInteger Number
For very large numbers, Java’s BigInteger is useful.
import java.math.BigInteger;
BigInteger num = new BigInteger(“12321”);
String s = num.toString();
if (s.equals(new StringBuilder(s).reverse().toString()))
System.out.println(“Palindrome BigInteger”);
String Palindrome Number (Palindrome Program in Java String)
When dealing with text, a palindrome program in Java string is preferred.
Using In-built Methods
String str = “madam”;
String rev = new StringBuilder(str).reverse().toString();
System.out.println(str.equals(rev) ? “Palindrome String” : “Not Palindrome”);
Two Pointer Approach
This is an optimized and interview-friendly method.
Algorithm:
- Initialize two pointers (start and end).
- Compare characters while moving inward.
- Stop if mismatch occurs.
public class StringPalindrome {
public static void main(String[] args) {
String s = “level”;
int start = 0, end = s.length() – 1;
boolean isPalindrome = true;
while (start < end) {
if (s.charAt(start) != s.charAt(end)) {
isPalindrome = false;
break;
}
start++;
end–;
}
System.out.println(isPalindrome ? “Palindrome String” : “Not Palindrome”);
}
}
Palindrome Program in Java 8 (Streams Example)
String str = “radar”;
boolean isPalindrome =
IntStream.range(0, str.length() / 2)
.allMatch(i -> str.charAt(i) == str.charAt(str.length() – i – 1));
System.out.println(isPalindrome);
✔ Modern, clean, and concise Java 8 approach.
Palindrome Program in JavaScript (For Comparison)
function isPalindrome(str) {
return str === str.split(”).reverse().join(”);
}
console.log(isPalindrome(“madam”));
This helps learners understand cross-language logic consistency.
FAQs – Palindrome Program in Java
1. What is a palindrome program in Java?
A palindrome program in Java checks whether a number or string reads the same forward and backward.
2. Which is the best method for a palindrome program in Java?
The iterative method using a for loop is the most efficient and commonly used in interviews.
3. Can we check palindromes using Java 8?
Yes, Java 8 streams provide a clean and modern way to check palindromes.
4. Is string palindrome different from number palindrome in Java?
Yes. String palindromes compare characters, while number palindromes reverse digits mathematically.
Conclusion
The palindrome program in Java is a fundamental problem that builds logic, looping, and recursion skills. Whether you use a for loop, recursion, Java 8 streams, or string manipulation, understanding these approaches prepares you for interviews and real-world coding scenarios.
Also Read:
