public class Palindrome {L'exécution de ce programme donne ce résultat:
public static void main(String args[]){
int[] nombres = {0, 2, 113, 11, 1443, 1441, 1654, 19891};
for(int nombre: nombres){
System.out.println(nombre +" est un palindrome? "
+ estPalindrome(nombre));
}
}
private static boolean estPalindrome(int nombre) {
if(nombre == inverse(nombre)){
return true;
}
return false;
}
private static int inverse(int nombre){
int inverse = 0;
while(nombre != 0){
inverse = inverse*10 + nombre%10;
nombre = nombre/10;
}
return inverse;
}
}
0 est un palindrome? trueCe programme Java prend un tableau d'entiers et vérifie si un nombre est un palindrome ou non.
2 est un palindrome? true
113 est un palindrome? false
11 est un palindrome? true
1443 est un palindrome? false
1441 est un palindrome? true
1654 est un palindrome? false
19891 est un palindrome? true
import java.util.Scanner;Résultat:
public class Palindrome_string {
public static void main(String args[])
{
String mot, mot_inverse = "";
Scanner in = new Scanner(System.in);
System.out.println("Entrer un mot ");
mot = in.nextLine();
if (pal(mot))
System.out.println("'"+mot + "' est un palindrome");
else
System.out.println("'"+mot + "' n'est pas un palindrome");
}
public static boolean pal(String mot){
int i=0, longueur=mot.length()-1;
boolean egale=true;
/*tester le premier caractère avec le dernier
*et s'ils sont égaux, le programme continu
*à dérouler la boucle while et tester
*le caractère suivant(i+1 avec longeur-(i+1))
*jusqu'à i soit égale à longueur/2,
*, sinon le booléen egale reçoit false
*donc, la fonction pal retourne false
*/
while(i<longueur/2 && egale){
if(mot.charAt(i)==mot.charAt(longueur-i))
egale = true;
else
egale = false;
i++;
}
return egale;
}
}
Entrer un mot
rotor
'rotor' est un palindrome
public class Palindrome_recursive {Résultat:
public static void main(String[] args) {
String[] strings = {"ici", "rumeur", "Leila",
"lol", "salut", "non"};
for(String string: strings){
if(estPalindrome(string))
System.out.println("'"+string + "' est un palindrome");
else
System.out.println("'"+string + "' n'est pas un palindrome");
}
}
public static boolean estPalindrome(String s)
{
//si la longueur est égale à 0 ou à 1
//donc c'est un palindrome
if(s.length() == 0 || s.length() == 1)
return true;
if(s.charAt(0) == s.charAt(s.length()-1))
/*
* tester si le premier et le dernier caractère
* sont les memes alors répéter le meme traitment
* avec la sous-chaine avec le premier et le
* dernier caractère jusqu'à atteindre la
* première condition
*/
return estPalindrome(s.substring(1, s.length()-1));
/*
* si la condition if est fausse, donc elle retourne
* false
*/
return false;
}
}
'ici' est un palindromeLes deux codes sont sensibles aux minuscules et les majuscules, vous pouvez les modifier pour qu'ils ignorent les majuscules en convertissant les deux strings en minuscules ou majuscules,
'rumeur' n'est pas un palindrome
'Leila' n'est pas un palindrome
'lol' est un palindrome
'salut' n'est pas un palindrome
'non' est un palindrome
Please disable your ad blocker and refresh the window to use this website.