0
votes

Essayer de trouver un numéro de Palindrome

J'essaie de trouver Palindrome non mais chaque fois qu'il montrent de faux pour chaque non même pour 121 S'il vous plaît aider ... xxx

Entrez la description de l'image ici < / a>


0 commentaires

5 Réponses :


0
votes

Parce qu'après la fin de votre volant en boucle, x sera 0 code>, vous devez agir sur une copie à la place

   public boolean isPalindrome(int x) {
        int num = x;
        if(x<0 || x%10==0){
            return false;
        }
        int rev = 0;
        while(x!=0){
            rev=(rev*10)+(x%10);
            x/=10;
        }
        
        if(num==rev){
            return true;
        }
        else{
            return false;
        }
    }


0 commentaires

0
votes

Votre fonction peut être aussi simple que ci-dessous

public static void main(String args[]){  
  int r,sum=0;    
  int n=454;//It is the number variable to be checked for palindrome  
  
  if(isPalindrome(n)) {
   System.out.println("palindrome number ");   
  } else {
   System.out.println("not palindrome number ");   
  }
     
}  

public boolean isPalindrome(int n)  {
  while(n>0){    
   r=n%10;  //getting remainder  
   sum=(sum*10)+r;    
   n=n/10;    
  }    

   return n==sum;    
}


0 commentaires

1
votes

comme une option, vous pouvez créer quelque chose comme ceci:

public boolean isPalindrome(int x) {
    StringBuilder sb = new StringBuilder();
    sb.append(x);
    return sb.toString().equals(sb.reverse().toString());
}


0 commentaires

0
votes

J'espère que cela est utile: xxx


0 commentaires

0
votes

Tout ce que vous avez à faire est de construire le nouveau numéro lorsque vous réduisez l'original. Puis comparez les deux.

   121 - true
 12321 - true
   123 - false
 34543 - true
 20012 - false


0 commentaires