Corrigé de l’exercice 4b du TD8 (palindrome)

///////////////////////////////////////////////////////////
// Ce programme indique si une chaine est un palindrome
// La chaine peut contenir des espaces, qui ne sont alors
// pas pris en compte
///////////////////////////////////////////////////////////
import java.util.Scanner;
public class PalindromeAvecEspaces {
    public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    String ch;
    System.out.println("Verification de palindrome. Entrez une chaine : ");
    ch=s.nextLine();
    int deb=-1;  // indice qui part du debut et avance
    int fin=ch.length();  // indice qui part de la fin et recule
    do {
        deb++;
        fin--;
        while ((deb<ch.length()) && (ch.charAt(deb) == ' '))
            deb++; // on passe les espaces au debut
        while ((fin>=0) && (ch.charAt(fin) == ' '))
            fin--; // on passe les espaces a la fin
    } while ((deb<fin) && (ch.charAt(deb) == ch.charAt(fin)));
    if (deb<fin)
        System.out.println("Ce n'est pas un palindrome");
    else
        System.out.println("C'est un palindrome");
    }
}