/**
 * Fonctions de manipulation des chaines de caractères.
 *
 */

public class Chaine {
  
  /**
    * Calcul du nombre de caractères d'une chaine de caractères.
    *
    * @param s La chaine de caractères traitée.
    * @return Le nombre de caractères.
    */
	public static int longueur(String s){
		return s.length();
	}

  /**
    * Extraction d'un caractère d'une chaine de caractères.
    *
    * @param s La chaine de caractères traitée.
    * @param indice L'indice du caractère recherché (indice compté à partir de 0).
    * @return Le caractère recherché.
    */
	public static char caractere(String s,int indice){
		return s.charAt(indice);
	}

  /**
    * Comparaison de deux chaines (même casse) selon l'ordre alphabétique.
    *
    * @param s1 La première chaine.
    * @param s2 La deuxième chaine.
    * @return un entier négatif si la première chaine est inférieure à la deuxième chaine, un entier positif si première chaine est supérieure à la deuxième chaine, zéro si les deux chaines sont identiques.
    */
	public static int comparaison(String s1, String s2){
		return s1.compareTo(s2);
	}
	
  /**
    * Test d'égalité de deux chaines (même casse) selon l'ordre alphabétique.
    *
    * @param s1 La première chaine.
    * @param s2 La deuxième chaine.
    * @return true ou false.
    */
	public static boolean egalite(String s1, String s2){
		return s1.equals(s2);
	}

  /**
    * Extraction d'une sous-chaine de caractères depuis une chaine de caractères.
    *
    * @param s La chaine de caractères traitée.
    * @param indiceDebut L'indice à partir duquel l'extraction est réalisée (indice compté à partir de 0).
    * @param indiceFin L'indice+1 jusqu'auquel l'extraction est réalisée (indice compté à partir de 0).
    * @return La sous-chaine extraite.
    */
	public static String sousChaine(String s,int indiceDebut,int indiceFin){
		return s.substring(indiceDebut,indiceFin);
	}

  /**
    * Extraction du tableau de caractères contenant les caractères d'une chaine de caractères.
    *
    * @param s La chaine de caractères traitée.
    * @return Le tableau de caractères extrait.
    */
	public static char [] tableauCaracteres(String s){
		return s.toCharArray();
	}
}
