Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java kiểm tra palindrome (chuỗi/palindrome số)

Số Palindrome là số đọc ngược vẫn giống gốc, ví dụ: 121, 313, 525, v.v.

Ví dụ 1: Kiểm tra số palindrome

public class Palindrome {
    public static void main(String[] args) {
        int a = 525, revVal = 0, remainder, val;
        val = a;
        System.out.println("Số cần kiểm tra = " + a);
        
        while(a != 0) {
            remainder = a % 10;
            revVal = revVal * 10 + remainder;
            a /= 10;
        }
        
        if (val == revVal)
            System.out.println("Palindrome!");
        else
            System.out.println("Not a palindrome!");
    }
}

Kết quả

Số cần kiểm tra = 525
Palindrome!

Ví dụ 2: Kiểm tra chuỗi palindrome (ví dụ: "aba", "wow")

public class Demo {
    public static void main(String[] args) {
        String str = "ABA";
        String strRev = new StringBuffer(str).reverse().toString();
        
        if (str.equals(strRev))
            System.out.println("Palindrome!");
        else
            System.out.println("Not a Palindrome!");
    }
}

Kết quả

Palindrome!

Cách khác (Java 8+ Stream):

boolean isPalindrome = IntStream.range(0, str.length() / 2)
    .allMatch(i -> str.charAt(i) == str.charAt(str.length() - 1 - i));

Lưu ý: Kiểm tra chuỗi nên dùng equalsIgnoreCase() nếu bỏ qua chữ hoa/thường, và loại bỏ khoảng trắng/ky tự đặc biệt nếu cần (ví dụ: "A man a plan a canal Panama").