import static java.lang.System.*;  // Version Java 5.0 or more ...
/*
 * 't_majVersMin' Tentative  de conversion des majuscules en Minuscules
 * @author   (c) ~/2A  - H. Nguyen-Phu
 * @version  1.0  27.08.2006 
 * @see      v_majVersMin   
 */
public class t_majVersMin   {
  /**
    * Procédure publique de classe  'majVersMin(...)' [EMPLOI A EVITER !]
    * @param   ch  une chaîne quelconque
    */
  public static void majusculeEnMinuscule(String  ch)  {
     char car; 
     int indice = 0;  
     while (indice <  ch.length() )  {
         car = ch.charAt(indice);
         if ( (car >= 'A') && (car <= 'Z') )  {
              char NewCar  = (char)  ((int) car + ('a' - 'A'));
              ch = ch.replace(car, NewCar);
         }
         indice++;
     }
     out.printf("\nPROC. majVersMin: ch = %s \n", ch); 
  }
  /**
    * Méthode principale publique de classe  'main(...)'.
    * @param args Tableau de chaînes pour ligne de commande éventuelle
    */
  public static void main(String [] args)  {

     out.println("\nt_majVersMin: Essai de conv. des majuscules en minuscules");
     out.println("\tA ANALYSER !! - (c)~/2A env.  - 27.08.2006  17h31 \n\n");
     String str = es.LireCh("Taper une chaine de  caracte`re  {Ex.: MarTin, etc ...)");

     out.printf("\nAvant appel de la proc.:  str lu = %s \n", str); 
     majusculeEnMinuscule(str);
     out.printf("\nApr\u00e8s appel de la proc.:  str    = %s \n\n", str); 

     out.println("\nCONCLUSION: En Java, l'argument est pass\u00e9 TOUJOURS par valeur"); 
     out.println("            y compris pour les r\u00e9f\u00e9rences d'objets !"); 
     out.println("A utiliser une fonction pour BIEN retourner l'argument modifi\u00e9 !\n\n");

     String [] arg = new String[1];
     arg[0] = str;
     v_majVersMin.main(arg);

     es.attente();
  }
}
