Il s'agit d'écrire un programme qui, étant donnée une chaîne de caractères (une instance de la classe String )
La première classe, nommée Palindrome, aura uniquement une méthodes statique dont l'en-tête sera :
static String inverse(String s)
qui retournera un objet de type String contenant la
chaîne inverse de la chaîne s.
Cette méthode aura entre autres variables locales une variable
nommée envers, de type StringBuffer
destinée à contenir les caractères
de s en sens inverse.
La seconde classe, nommée EssaiPalindrome, contiendra uniquement une méthode main ; dans cette méthode, on récupérera la chaîne sur la ligne de commande, on calculera son inverse grâce à la méthode inverse de la première classe, on affichera cet inverse, on indiquera aussi si la chaîne est ou non un palindrome.
Indications
Second temps
En un second temps, la chaîne à traiter sera lue en
cours d'exécution du programme. par ailleurs, la chaîne pourra comporter des espaces. Il s'agira de savoir si la chaîne indiquée est ou non un palindrome en ne tenant pas compte des espaces.
Par exemple : "esope reste ici et se repose" devra être considéré comme un palindrome.
Exemples A l'exécution, pour la commande :
java EssaiPalindromeBisIndiquez la chaîne de caractères esope reste ici et se repose "esope reste ici et se repose" est un palindromeOn utilisera la méthode inverse de la classe Palindrome déjà définie. On écrira une classe nommée EssaiPalindromeBis contenant :
Indication
Pour effectuer une saisie en cours d'exécution, on peut utiliser l'instruction suivante :
java.util.Scanner entree = new java.util.Scanner(System.in);
qui définit l'objet
entree permettant de faire des saisies au clavier.
Ensuite l'instruction
String chaine = entree.nextLine();
met dans chaine la ligne entrée par l'utilisateur.