-
Ecrire une classe
Palindrome1
contenant deux méthodes statiques :-
Une méthode
inverser
, qui prend en paramètre uneString
et renvoie uneString
.
Par exemple,inverse("azerty") = "ytreza"
. -
La méthode
main()
, qui doit tester qu'elle a été appelée avec un seul argument (tableauargs
).
Si la méthode n'est pas appelée avec un seul argument, elle doit afficher un message d'erreur et terminer l'exécution.
Dans le cas où l'appel est correct, affiche le mot entré en paramètre, l'inverse de ce mot, et indique si c'est un palindrome.
Exemples d'exécution :
java Palindrome1 La fonction doit être appelée avec un seul argument Exemple : java Palindrome1 mot java Palindrome1 azerty mot : azerty inverse : ytreza azerty n'est pas un palindrome java Palindrome1 ressasser mot : ressasser inverse : ressasser ressasser est un palindrome
-
Une méthode
-
Ecrire une classe
Palindrome2
contenant trois méthodes statiques :-
Une méthode
inverser
, identique à celle de la question précédente. -
Une méthode
normaliser
, qui prend en paramètre uneString
et renvoie uneString
.
Ele doit supprimer les espaces, apostrophes et tous les caractères qui ne sont pas alphabétiques dans la chaîne passée en paramètre.
Par exemplenormaliser("Elu par cette crapule") = "eluparcettecrapule"
. -
La méthode
main()
se comportera différemment que dansPalindrome1
: Au lieu d'utiliserargs
, on va utiliser unScanner
pour attendre une saisie de l'utilisateur :java.util.Scanner scanner = new java.util.Scanner(System.in); String str, inverse; while(true){ System.out.println("\nSaisissez une chaîne de caractères ou Q pour terminer"); str = scanner.nextLine(); if(str.equals("Q")){ break; } // A compléter }
Exemple d'exécution :Saisissez une chaîne de caractères ou Q pour terminer une chaine de caracteres mot normalisé : unechainedecaracteres inverse : seretcaracedeniahcenu 'unechainedecaracteres' n'est pas un palindrome Saisissez une chaîne de caractères ou Q pour terminer Élu par cette crapule mot normalisé : éluparcettecrapule inverse : eluparcettecrapulé 'éluparcettecrapule' n'est pas un palindrome Saisissez une chaîne de caractères ou Q pour terminer Elu par cette crapule mot normalisé : eluparcettecrapule inverse : eluparcettecrapule 'eluparcettecrapule' est un palindrome Saisissez une chaîne de caractères ou Q pour terminer Q
normaliser()
ne gère pas les accents. -
Une méthode
-
Pour ceux qui ont fini : Comment améliorer
normaliser()
pour gérer aussi les caractères accentués ?