Study Guides/Computer Science/Palindrome Program in Java
Study Guide ยท Computer Science

Palindrome Program in Java

A palindrome is a word, number, or sequence that reads the same forwards and backwards. Examples: 'MADAM', 'RACECAR', 12321. Writing a palindrome program is a standard Class 11-12 Computer Science Java exercise.

Question (Click to Flip)

What is the logic to reverse a number in Java?

Answer

Repeatedly take the last digit using (n % 10), add it to rev*10, then remove the last digit using (n / 10). Repeat until n becomes 0.

Card 1 of 1 free previews

Key Facts

Palindromes appear in interview coding questions, competitive programming (LeetCode, HackerRank), and CBSE Class 11-12 Computer Science practical exams.

What is a Palindrome?

  • String palindrome: 'MADAM' reversed = 'MADAM' (same) โ†’ Palindrome
  • Number palindrome: 121 reversed = 121 (same) โ†’ Palindrome
  • Not palindrome: 'HELLO' reversed = 'OLLEH' (different)

Java Program โ€” Palindrome String

import java.util.Scanner;
public class PalindromeString {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a string: ");
        String str = sc.nextLine();
        String rev = "";
        
        for (int i = str.length() - 1; i >= 0; i--) {
            rev = rev + str.charAt(i);
        }
        
        if (str.equalsIgnoreCase(rev)) {
            System.out.println(str + " is a Palindrome");
        } else {
            System.out.println(str + " is NOT a Palindrome");
        }
    }
}

Output: Enter a string: MADAM โ†’ MADAM is a Palindrome

Java Program โ€” Palindrome Number

import java.util.Scanner;
public class PalindromeNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = sc.nextInt();
        int original = n, rev = 0, rem;
        
        while (n != 0) {
            rem = n % 10;
            rev = rev * 10 + rem;
            n = n / 10;
        }
        
        if (original == rev) {
            System.out.println(original + " is a Palindrome");
        } else {
            System.out.println(original + " is NOT a Palindrome");
        }
    }
}

Output: Enter a number: 121 โ†’ 121 is a Palindrome

Questions and Answers

What is the logic to reverse a number in Java?+

Repeatedly take the last digit using (n % 10), add it to rev*10, then remove the last digit using (n / 10). Repeat until n becomes 0.

More in Computer Science

Study Smarter with Shinyu.ai

Turn this guide into revision flashcards, a practice exam, or an AI-generated podcast โ€” free, no signup required.