How to check whether a numbers are palindrome in base 10 and base 2 with Java

1 Answer

0 votes
public class MyClass {
    public static String reverse(String str) {
        return new StringBuilder(str).reverse().toString();
    }
     
    private static boolean isBinaryRepresentationOfNumberPalindrome(int num) {
        String binary = Integer.toBinaryString(num);

        return binary.equals(reverse(binary));
    }
    
    private static boolean isPalindrome(int n) {
        int reverse = 0, temp = n;
     
        while (temp != 0) {
            int remainder = temp % 10;
            reverse = (reverse * 10) + remainder;
            temp = temp / 10;
        }
     
        return n == reverse;
    }
 
    public static void main(String args[]) {

        int n = 585; // 1001001001
 
        System.out.print(isPalindrome(n) && isBinaryRepresentationOfNumberPalindrome(n) ? "yes" : "no");
    }
}
 
 
 
 
 
/*
run:
     
yes
     
*/

 



answered Jan 8, 2024 by avibootz
edited Jan 8, 2024 by avibootz
...