# Palindrome program in Java

In this post, you will learn different ways to check perfect palindrome program using Java.

The Palindrome is a number, string or sequence that remains same when it reverse. A palindrome sequence can be a combination of digits or numbers, but it looks same in forward and backward. It is generally used where recreational mathematics is applied, like puzzles, games. To check whether a number or string is palindrome or not, simply reverse it and compare it with original number or string. If both are same then the number or string is palindrome, otherwise not.

These are different programming ways in Java to check Palindrome numbers and strings -

**121, 1991, 1239321, MAAM, DAD, WOW, TENET, MADAM**

When we reverse the above numbers or strings, this will remain the same. So, all the above are palindrome.

## Java program to check palindrome using for loop

In the given code, we have used the for loop to check palindrome. Within this, we have reversed the sting and compared it with original string. The for loop runs from the end to the beginning of the given string and accesses each character of the string using **charAt()** method and store it in **y** variable. The **equalsIgnoreCase()** method checks if two strings are equal.

```
public class Palindrome
{
public static void main(String args[])
{
String x, y = "";
x = "MAAM";
int l = x.length();
for(int k = l - 1; k >= 0; k--)
{
y = y + x.charAt(k);
}
if(x.equalsIgnoreCase(y))
{
System.out.println("The string "+ x +" is palindrome.");
}
else
{
System. out.println("The string "+ x +" is not a palindrome.");
}
}
}
```

**Output of the above code:**

`The string MAAM is palindrome.`

## Java program to check palindrome using while loop

In the given example, we have used the while loop to check the palindrome number. We store the number in a new variable 'original'. Until the variable **num** is not equal to zero, find the reminder of the **num** and store it in a variable **reverse**. Next, divide the **num** by ten and repeat the previous process using while loop and chcek if the reverse number is equal to the original. If it is equal, print it is a palindrome.

```
// Java program to check palindrome
// number using while loop
public class Palindrome {
public static void main(String[] args) {
int num = 1295921, reverse = 0, remainder;
// store the number to original
int original = num;
// get the reverse of num
while (num != 0) {
remainder = num % 10;
reverse = reverse * 10 + remainder;
num /= 10;
}
//Check Palindrome
if (original == reverse) {
System.out.println(original + " is Palindrome.");
}
else {
System.out.println(original + " is not Palindrome.");
}
}
}
```

**Output of the above code:**

`1295921 is Palindrome.`

## Java program to check palindrome using recursion function

In the given example, we have checked whether the given string is palindrome or not using a recursion function. Recursion function is a function which is called by itself. A recursion function continues until some condition is met to prevent it. That's why we use the if else statement to break the infinite recursion. Here, we have checked if the length is equal to zero or one, print it is a palindrome. In next condition, we have checked each character in substring from the front and rear, if it is found equal, print it is a palindrome.

```
public class CheckPalindrome{
public static boolean ChkPalindrome(String a){
if(a.length() == 0 || a.length() == 1){
return true;
}
if(a.charAt(0) == a.charAt(a.length()-1)){
return ChkPalindrome(a.substring(1, a.length()-1));
}
return false;
}
public static void main(String[]args){
String string = "WOW";
if(ChkPalindrome(string)){
System.out.println(string + " is a palindrome.");
}
else{
System.out.println(string + " is not a palindrome.");
}
}
}
```

**Output of the above code:**

`WOW is a palindrome.`

### Related Articles

**Number pattern programs in Java**

Java program to find area of rectangle

Matrix multiplication in Java

Electricity bill program in Java

Java program to find area of triangle

Area of circle program in Java

Remove duplicate elements from array in Java

Capitalize first letter of each word Java

Convert binary to decimal in Java

Convert decimal to binary in Java

Convert decimal to octal in Java

Convert decimal to hexadecimal in Java

Simple interest program in Java

Check whether the given number is even or odd in java

Print prime numbers from 1 to 100 in Java

Java prime number program

Java program to convert celsius to fahrenheit

Fibonacci series program in Java

Java program to check leap year

Java program to find factorial of a number

Java program to find area of rectangle

Matrix multiplication in Java

Electricity bill program in Java

Java program to find area of triangle

Area of circle program in Java

Remove duplicate elements from array in Java

Capitalize first letter of each word Java

Convert binary to decimal in Java

Convert decimal to binary in Java

Convert decimal to octal in Java

Convert decimal to hexadecimal in Java

Simple interest program in Java

Check whether the given number is even or odd in java

Print prime numbers from 1 to 100 in Java

Java prime number program

Java program to convert celsius to fahrenheit

Fibonacci series program in Java

Java program to check leap year

Java program to find factorial of a number