Package edu.uha.miage

Class ManipulationChainetique


  • public class ManipulationChainetique
    extends Object
    Le but de l'exercice est d'écrire un ensemble de méthodes pour 1. Tout savoir (ou presque) sur une chaîne de caractères 2. Tout faire (ou presque) à une chaîne de caractères Bien sûr, le "tout ou presque" est très exagéré. Mais il y a quelques questions pour apprendre à manipuler des chaînes de caractères et surtout à découvrir le type String. Il est vivement conseillé de LIRE SA DOCUMENTATION en visitant le lien suivant : https://docs.oracle.com/javase/8/docs/api/java/lang/String.html Pour répondre à l'exercice, il suffit d'écrire, pour chaque méthode, à l'endroit précisé par TODO, du code qui satisfait la spécification donnée par la JavaDoc. Il est également recommandé d'utiliser les méthodes de String pour répondre à l'exercice. Chose qui sera d'autant plus aisée que la LECTURE DE SA DOCUMENTATION sera sérieuse. La solution de la première méthode est donnée pour faire comprendre l'esprit de l'exercice. Par ailleurs, pour toutes les méthodes où les paramètres peuvent connaître des contraintes, comme par exemple un indice en dehors de la chaîne, la politique est de NE PAS TESTER LES PARAMETRES. L'utilisateur est supposé employer correctement la méthode. Tant pis si une mauvaise utilisation provoque un plantage.
    Author:
    yvan
    • Method Summary

      Modifier and Type Method Description
      static int caractereDeSEnPositionP​(String s, int p)
      Méthode qui retourne le caractère d'une chaîne de caractères à une position donnée
      static int dernierePositionDeCdansS​(char c, String s)
      Méthode qui donne la position de la dernière occurence d'un caractère dans une chaîne de caractères.
      static boolean estUnPalindrome​(String s)
      Méthode pour savoir si une chaîne de caractères est un palindrome.
      static int longueur​(String s)
      Méthode qui retourne la longueur d'une chaîne de caractères
      static int premierePositionDeCdansS​(char c, String s)
      Méthode qui donne la position de la première occurence d'un caractère dans une chaîne de caractères.
      static String remplaceDansSC1ParC2​(String s, char c1, char c2)
      Méthode qui retourne une chaîne de caractères qui est celle donnée en paramètre dans laquelle un caractère est remplacé par un autre.
      static String renverseDeS​(String s)
      Méthode qui retourne une chaîne de caractères qui est celle passée en paramètre renversée.
      static boolean s1commenceParS2​(String s1, String s2)
      Méthode pour savoir si une chaîne de caractères commence par une autre.
      static boolean s1EstAvantS2​(String s1, String s2)
      Méthode pour savoir si une chaîne de caractères est avant une autre dans l'ordre lexicographique (du dictionnaire).
      static boolean s1estDansS2​(String s1, String s2)
      Méthode pour savoir si une chaîne de caractères est écrit dans une autre.
      static String sEnMajuscule​(String s)
      Méthode qui retourne une chaîne de caractères qui est celle passée en paramètre en majuscule.
      static String sEnMinuscule​(String s)
      Méthode qui retourne une chaîne de caractères qui est celle passée en paramètre en minuscule.
      static boolean sontEgales​(String s1, String s2)
      Méthode pour savoir si deux chaînes de caractères sont égales ou non.
      static boolean sontEgalesSansCompteLaCasse​(String s1, String s2)
      Méthode pour savoir si deux chaînes de caractères sont égales ou non, sans tenir compte de la casse des caractères.
      static String sousChaineDeSEntreP1etP2​(String s, int debut, int fin)
      Méthode qui retourne une chaîne de caractères qui est la sous-chaîne d'une chaîne de caractères entre deux indices.
      static String sPriveDeSesEspaces​(String s)
      Méthode qui retourne une chaîne de caractères qui est celle donnée en paramètre privée de tous ces espaces.
      static String sSansEspaceDevantEtDerriere​(String s)
      Méthode qui retourne une chaîne de caractères qui est celle passée en paramètre privée de ses éventuels espaces devant et derrière.
    • Constructor Detail

      • ManipulationChainetique

        public ManipulationChainetique()
    • Method Detail

      • longueur

        public static int longueur​(String s)
        Méthode qui retourne la longueur d'une chaîne de caractères
        Parameters:
        s - la chaîne dont on veut la longueur
        Returns:
        la longueur de s Le type String comprend la méthode length() qui est documenté : https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#length-- Inutile d'aller chercher midi à 14 heures, cette méthode existe utilisons-la.
      • caractereDeSEnPositionP

        public static int caractereDeSEnPositionP​(String s,
                                                  int p)
        Méthode qui retourne le caractère d'une chaîne de caractères à une position donnée
        Parameters:
        s - la chaîne dont on veut un caractère
        p - la position du caractère recherché
        Returns:
        le caractère de s en position p
      • sontEgales

        public static boolean sontEgales​(String s1,
                                         String s2)
        Méthode pour savoir si deux chaînes de caractères sont égales ou non.
        Parameters:
        s1 - une première chaîne de caractères
        s2 - une seconde chaîne de caractères
        Returns:
        vrai si s1 est la même chaîne que s2.
      • sontEgalesSansCompteLaCasse

        public static boolean sontEgalesSansCompteLaCasse​(String s1,
                                                          String s2)
        Méthode pour savoir si deux chaînes de caractères sont égales ou non, sans tenir compte de la casse des caractères.
        Parameters:
        s1 - une première chaîne de caractères
        s2 - une seconde chaîne de caractères
        Returns:
        vrai si s1 est la même chaîne que s2 sans tenir compte de la casse.
      • s1EstAvantS2

        public static boolean s1EstAvantS2​(String s1,
                                           String s2)
        Méthode pour savoir si une chaîne de caractères est avant une autre dans l'ordre lexicographique (du dictionnaire).
        Parameters:
        s1 - une première chaîne de caractères
        s2 - une seconde chaîne de caractères
        Returns:
        vrai si s1 est lexicographiquement avant s2 (autrement dit, dans l'ordre du dictionnaire.
      • s1estDansS2

        public static boolean s1estDansS2​(String s1,
                                          String s2)
        Méthode pour savoir si une chaîne de caractères est écrit dans une autre.
        Parameters:
        s1 - une première chaîne de caractères
        s2 - une seconde chaîne de caractères
        Returns:
        vrai si s1 est une sous-chaîne de s2.
      • s1commenceParS2

        public static boolean s1commenceParS2​(String s1,
                                              String s2)
        Méthode pour savoir si une chaîne de caractères commence par une autre.
        Parameters:
        s1 - une première chaîne de caractères
        s2 - une seconde chaîne de caractères
        Returns:
        vrai si s1 commence par s2.
      • premierePositionDeCdansS

        public static int premierePositionDeCdansS​(char c,
                                                   String s)
        Méthode qui donne la position de la première occurence d'un caractère dans une chaîne de caractères.
        Parameters:
        c - un caractère
        s - une chaîne de caractères
        Returns:
        la position de la première occurence de c dans s ou -1 s'il est absent.
      • dernierePositionDeCdansS

        public static int dernierePositionDeCdansS​(char c,
                                                   String s)
        Méthode qui donne la position de la dernière occurence d'un caractère dans une chaîne de caractères.
        Parameters:
        c - un caractère
        s - une chaîne de caractères
        Returns:
        la position de la dernière occurence de c dans s ou -1 s'il est absent.
      • remplaceDansSC1ParC2

        public static String remplaceDansSC1ParC2​(String s,
                                                  char c1,
                                                  char c2)
        Méthode qui retourne une chaîne de caractères qui est celle donnée en paramètre dans laquelle un caractère est remplacé par un autre.
        Parameters:
        s - une chaîne de caractères
        c1 - un premier caractère
        c2 - un second caractère
        Returns:
        une chaîne de caractères qui est s dont tous les caractères c1 sont remplacés par c2.
      • sPriveDeSesEspaces

        public static String sPriveDeSesEspaces​(String s)
        Méthode qui retourne une chaîne de caractères qui est celle donnée en paramètre privée de tous ces espaces.
        Parameters:
        s - une chaîne de caractères
        Returns:
        une chaîne de caractères qui est s privée de ses espaces. Par exemple, - " abc " -> "abc" - " abc de " -> "abcde" - "abc" -> "abc" - " " -> ""
      • sousChaineDeSEntreP1etP2

        public static String sousChaineDeSEntreP1etP2​(String s,
                                                      int debut,
                                                      int fin)
        Méthode qui retourne une chaîne de caractères qui est la sous-chaîne d'une chaîne de caractères entre deux indices.
        Parameters:
        s - une chaîne de caractères
        debut - un premier indice dans s
        fin - un second indice dans s
        Returns:
        la sous-chaine de s entre p1 inclus et p2 exclus.
      • estUnPalindrome

        public static boolean estUnPalindrome​(String s)
        Méthode pour savoir si une chaîne de caractères est un palindrome.
        Parameters:
        s - une chaîne de caractères
        Returns:
        vrai si s est un palindrome (https://fr.wikipedia.org/wiki/Palindrome). Exemples : "kayak" est un palindrome "lol" est un palindrome "a" est un palindrome "palindrome" n'est pas un palindrome "ab" n'est pas un palindrome. Remarques : 1. Les majuscules et les minuscules ne sont pas différenciées Par exemple : "Laval" est aussi un palindrome 2. Les espaces ne comptent pas. Par exemple : "Esope reste ici et se repose" est encore un palindrome 3. Mais pour nous simplifier l'exercice, les accents sont différenciés Ainsi, "La mariée ira mal" n'est pas un palindrome à cause de l'accent. Ou plutot, ce n'est pas grave si ça n'en est pas un.
      • renverseDeS

        public static String renverseDeS​(String s)
        Méthode qui retourne une chaîne de caractères qui est celle passée en paramètre renversée.
        Parameters:
        s - une chaîne de caractères
        Returns:
        s renversée (c'est-à-dire dont le premier caractère devient le dernier et le dernier le premier). Par exemple, "exemple" -> "elpmexe", "bon" -> "nob"
      • sEnMajuscule

        public static String sEnMajuscule​(String s)
        Méthode qui retourne une chaîne de caractères qui est celle passée en paramètre en majuscule.
        Parameters:
        s - une chaîne de caractères
        Returns:
        s entièrement en majuscule.
      • sEnMinuscule

        public static String sEnMinuscule​(String s)
        Méthode qui retourne une chaîne de caractères qui est celle passée en paramètre en minuscule.
        Parameters:
        s - une chaîne de caractères
        Returns:
        s entièrement en minuscule.
      • sSansEspaceDevantEtDerriere

        public static String sSansEspaceDevantEtDerriere​(String s)
        Méthode qui retourne une chaîne de caractères qui est celle passée en paramètre privée de ses éventuels espaces devant et derrière. Par exemple, - " abc " -> "abc", - " abc de " -> "abc de" - "abc" -> "abc" - " " -> ""
        Parameters:
        s - une chaîne de caractères
        Returns:
        s sans tous ses éventuels espaces devant et derrière.