Programme Palindrome en Java | Programme Java pour vérifier Polindrome

Publié: 2021-02-26

Table des matières

introduction

Java a gagné beaucoup d'attention parmi les programmeurs en raison de sa simplicité, de sa neutralité architecturale, de son indépendance de plate-forme, de son exécution distribuée et de sa réutilisabilité. En outre, Java possède de nombreuses bibliothèques prédéfinies pour une programmation transparente. Et tout le monde sera enthousiaste à l'idée de coder dans un tel langage.

En venant maintenant à notre sujet, nous allons écrire un code java pour vérifier si l'entrée donnée est un palindrome ou non.

Un nombre ou un mot est dit palindrome s'il reste le même après l'avoir inversé. Et nous pouvons implémenter une solution de manière itérative ainsi que récursive. Alors, commençons!

Code Java itératif

L'idée est simple; nous allons déclarer une variable 'reverse' qui stocke le nombre inversé de notre entrée.

Nous multiplierons la variable inverse par 10 (pour remplir la position de l'unité avec 0) à chaque itération. Ensuite, nous ajouterons le reste du nombre d'entrée après l'avoir divisé par 10. Après avoir ajouté le reste, nous diviserons le nombre d'entrée par 10 (pour supprimer le nombre dans la position de l'unité).

Nous arrêterons l'algorithme ci-dessus lorsque le nombre d'entrée deviendra 0, et le nombre présent dans la variable inverse sera l'inverse du nombre d'entrée.

surclassement en classe publique{

public static void main(String[] args) {

entier n=12221 ;

entier inverse=0 ;

int temp=n ;

tandis que(temp>0){

inverse=inverse*10 ;

inverse=inverse+temp%10 ;

temp=temp/10 ;

}

si(inverse==n)

System.out.print(n+" est un palindrome");

autre

System.out.print(n+" n'est pas un palindrome");

}

}

Dans le code ci-dessus, nous avons déclaré une variable 'n' qui stocke le nombre initial, et nous devons vérifier si le nombre n est un palindrome ou non. Dans la boucle while, nous suivrons l'algorithme dont nous avons parlé plus tôt. Et enfin, nous vérifions si le nombre inversé est égal au nombre initial ou non. Si le nombre modifié et les nombres initiaux sont similaires, nous l'imprimons comme un palindrome autrement, pas comme un palindrome.

Maintenant, ce code ne fonctionnera que pour une entrée entière. Et si nous voulons vérifier si un mot donné est un palindrome ou non, nous devons le gérer en utilisant des chaînes. Et voici le code pour le faire.

surclassement en classe publique{

public static void main(String[] args) {

Chaîne s=”rotor” ;

String reverse=new String();

for(int i=s.length()-1;i>=0;i–)

reverse=reverse+s.charAt(i);

if(s.equals(reverse))

System.out.print(s+” est un palindrome”);

autre

System.out.print(s+" n'est pas un palindrome");

}

}

Dans le code ci-dessus, nous ajoutons les caractères de la chaîne initiale de la fin à la tête à la chaîne inverse et vérifions si elle est égale à la chaîne initiale ou non. Nous avons codé en dur la chaîne avec un mot, mais nous pouvons l'initialiser avec une entrée utilisateur à l'aide de la classe scanner.

Code Java récursif

Dans cette implémentation, nous allons comparer les premier et dernier caractères. Et s'ils sont égaux, ils se reproduisent ensuite pour la chaîne restante.

Mais cette logique ne fonctionnera pas pour les chaînes qui ont un nombre impair de caractères. Donc, si nous incluons un cas de base, où nous concluons une chaîne comme un palindrome, si la longueur d'une chaîne est un, c'est-à-dire que la position du premier et du dernier caractère est la même. Cela résoudrait notre problème avec les chaînes de taille impaire, car nous allons revenir à l'élément du milieu, puis le conclure comme un palindrome puisqu'il ne reste qu'un seul caractère au milieu.

surclassement en classe publique{

public static boolean isPalindrome(String str, int low, int high){

si(faible==élevé)

retourner vrai ;

if(str.charAt(low)!=str.charAt(high))

retourner faux ;

si(haut-bas>1)

return isPalindrome(str,low+1,high-1);

retourner vrai ;

}

public static void main(String[] args) {

Chaîne s1=”rotor” ;

Chaîne s2=”programmation” ;

System.out.println(isPalindrome(s1,0,s1.length()-1));

System.out.println(isPalindrome(s2,0,s2.length()-1));

}

}

Dans le code ci-dessus, nous avons écrit une fonction qui attend une chaîne, deux entiers comme paramètres. Et les deux entiers, bas, haut sont les pointeurs qui gardent une trace des caractères qui doivent être vérifiés. Et si les noms à la position basse et haute sont égaux.

nous appellerons la même fonction avec des paramètres mis à jour de sorte que la chaîne soit réduite des deux côtés d'un caractère. Et si les pointeurs bas et haut se rencontrent ou qu'un seul caractère est présent entre eux, alors nous avons atteint le milieu de la chaîne et la concluons comme un palindrome.

Maintenant, faisons un essai du code pour la chaîne "rotor". Initialement, le bas est 0 et le haut est 4. Puisque le caractère à la 0ème position ('r') est égal au caractère à la 4ème position ('r'), nous ferons un appel récursif avec bas mis à jour comme bas +1 et haut mis à jour en haut-1.

Maintenant, bas est 1 et haut est 3 puisque les caractères à ces positions sont égaux, nous allons à nouveau faire un appel récursif. Maintenant, bas est 2 et haut est 2, et cela déclenche le cas de base où bas équivaut à haut, donc nous retournerons vrai.

Nous pouvons également implémenter une fonction récursive pour vérifier si un entier est un palindrome ou non, et voici le processus pour le faire.

statique booléen isPalindrome(int n, int rev, int temp){

si(temp==0)

retourner n==tour ;

inv=inv*10 ;

return isPalindrome(n,rev+temp%10,temp/10);

}

Notez que, dans la fonction ci-dessus, initialement n et temp sont identiques. Car enfin, il faut comparer le nombre inverse avec le nombre initial, donc tous les calculs sont effectués sur la même variable. Le nombre initial ne doit pas être modifié.

Lisez également : Idées et sujets de projet Java

Apprenez des cours de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Nous avons compris la définition du palindrome, parcouru des codes itératifs et récursifs pour vérifier si une chaîne/un nombre est un palindrome ou non. Nous connaissons le code par un essai à blanc d'un exemple d'exemple. Maintenant que vous savez implémenter un code pour vérifier le palindrome, essayez de l'implémenter en utilisant la classe scanner et essayez de le coder en utilisant les concepts OOP.

Si vous souhaitez améliorer vos compétences en Java, vous devez mettre la main sur ces projets Java. Si vous souhaitez en savoir plus sur Java, le développement full-stack, consultez le programme Executive PG upGrad & IIIT-B en développement logiciel full-stack, qui est conçu pour les professionnels et offre plus de 500 heures de formation rigoureuse, 9+ projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Qu'est-ce qu'un palindrome ?

La phrase palindromique est une composition littéraire, une phrase, un verset ou un mot, lisant le même vers l'arrière ou vers l'avant. Un palindrome est un type de jeu de mots, en particulier un mot ou une phrase (phrase) qui lit le même vers l'arrière ou vers l'avant. Un palindrome est un mot, une phrase, un nombre ou une autre séquence de caractères qui lit le même vers l'arrière ou vers l'avant. Par exemple, Un homme, un plan, un canal, Panama ! est un palindrome. Certains palindromes ne sont pas des mots, comme le nombre 106601. Certains palindromes sont des phrases, comme Madame, je suis Adam.

Comment se préparer à un entretien Java ?

Si vous voulez être un expert Java, vous devez d'abord vous assurer que certaines choses sont en ordre. Tout d'abord, vous devez avoir une bonne connaissance pratique du langage Java. Deuxièmement, vous devez avoir une bonne compréhension de l'API Java. Vous n'avez pas besoin d'avoir une maîtrise absolue de l'API, mais vous devez comprendre ce qui est disponible et quand utiliser quelle classe. Enfin, vous devez avoir une compréhension approfondie de la machine virtuelle Java. Par exemple, vous devriez être capable d'écrire un interpréteur pour un langage simple. Si vous passez un entretien pour un poste de développement de compilateur, vous êtes tiré d'affaire.

Comment écrire de bons programmes Java ?

Certaines des meilleures pratiques lors de l'écriture du programme en Java sont les suivantes : Utilisez toujours la "classe publique" pour démarrer la classe. N'utilisez jamais 'public static void main' à l'intérieur d'une classe. N'utilisez jamais le mot clé 'this' dans la classe. N'utilisez jamais le modificateur 'final' sur les méthodes. N'utilisez jamais le modificateur 'static' sur les variables d'instance. Ne rendez jamais les variables "publiques" à moins que cela ne soit absolument nécessaire. Ayez toujours une bonne convention de nommage. Ne faites jamais une variable plus d'une lettre avec un suffixe numérique. Évitez de faire des variables avec plus d'un mot. N'utilisez jamais le mot clé 'this' dans la méthode. N'utilisez jamais le mot clé 'break'.