/* Auteur: Nicolas JANEY          */
/* nicolas.janey@univ-fcomte.fr   */
/* Fevrier 2005                   */

public class TestPalindromeEnConsole {

  /* Fonction d'affichage de tous les entiers contenus    */
  /* dans un tableau d'entiers                            */

  public static void affichageTableau(char [] t) {
    int i;
  /* Pour toutes les valeurs d'indice 0 a t.length-1 inclus    */
    for ( i = 0 ; i < t.length ; i++ )
      Console.out.print(t[i]);
  }

  /* Fonction d'initialisation de tous les entiers        */
  /* contenus dans un tableau d'entiers                   */
  /* avec une valeur tiree au sort entre 0 et max inclus  */

  public static void initialisationTableau(char [] t) {
    int i;
  /* Pour toutes les valeurs d'indice 0 a t.length-1 inclus    */
    for ( i = 0 ; i < t.length ; i++ ) {
  /* Initialisation de t[i] avec un entier tire                */
  /* au hasard entre 0.0 (inclu) et max+1 (exclu)              */
      t[i] =(char) (97+2*Math.random()); }
  }

  /* Fonction de test si un tableau de caracteres         */
  /* representant une chaine de caracteres                */
  /* est un palindrome                                    */

  public static boolean testPalindrome(char [] t) {
  /* Indice de parcours des couples de caracteres              */
    int i = 0;
  /* Booleen resultat initialise a vrai                        */
    boolean res = true;
  /* Tant que tous les couples de catacteres n'ont pas ete     */
  /* verifies et que l'on a pas conclu trouve de couples       */
  /* de caracteres differents                                  */
    while ( ( i < t.length/2 ) && res ) {
  /* Si les caracteres d'indices i et t.length-1-i different,  */
  /* res passe a faux pour interrompre le tant que             */
      if ( t[i] != t[t.length-1-i] )
        res = false;
  /* Increment de i de 1 pour passer au couple                 */
  /* de caracteres suivant                                     */
      i++; }
    return(res);
  }

  /* Fonction principale                                  */

  public static void main(String [] args) {
    Console.setTitle("TestPalindrome");
  /* Definition et allocation d'un tableau de 4 caracteres     */
  /* tires au sort entre 0 et 5                                */
    char [] tab = new char[4];
    initialisationTableau(tab);
    Console.out.println("Le tableau contient les caracteres suivants:");
  /* Appel a la fonction d'affichage                           */
    affichageTableau(tab);
    Console.out.println();
  /* Affichage du resultat de l'appel a la fonction de test    */
    Console.out.println(testPalindrome(tab));
  }
}