Alors voici les consignes:
Quote
-Vous avez le droit d'utiliser uniquement les méthodes String suivantes (les autres méthodes sont
interdites) : length, charAt et substring.
-Vos lignes de code ne doivent pas dépasser 80 caractères.
-Vous devez choisir vos instructions de contrôle de façon à prévilégier la rapidité d'exécution.
Quote
Dénitions
-Pour ce travail pratique, nous avons besoin de dénir la notion d'intervalle :
Dans le contexte de ce travail pratique, un intervalle est une chaîne de caractères composée de deux
lettres minuscules séparées par le symbole -. Par exemple, la chaîne "f-k" est un intervalle.
- Soit l'intervalle "f-k", la lettre de début de cet intervalle est la lettre "f" et sa lettre de n est la
lettre "k".
-Un intervalle est valide si sa lettre de début vient avant sa lettre de n ou à la même position par
rapport à l'ordre alphabétique. Par exemple, l'intervalle "a-a" est valide, l'intervalle "f-k" est valide,
par contre l'intervalle "c-a" n'est pas valide.
-Nous avons aussi besoin de dénir un deuxième concept dans ce contexte, soit la notion d' expression :
Une expression est une chaîne de caractères correspondant à une séquence d'au moins un intervalle.
-Par exemple, la chaîne "f-k" est une expression, la chaîne "a-af-k" est aussi une expression.
Une expression est valide si elle est composée uniquement d'intervalles valides. Par exemple, "a-af-k"
est une expression valide, "aaf-k" n'est pas une expression valide.
Quote
estUneExpressionValide : Cette méthode prend une chaîne de caractères en paramètre et retourne
une valeur booléenne. Plus spéciquement, elle retourne vrai si la chaîne passée en paramètre correspond
à une expression valide (voir dénition plus haut), sinon elle retourne faux.
Quote
Merci si quelqu'un peut m'aider a trouver la réponse!
Bremem ma déjà aider en me dissant :
1) Si la taille de ma chaine n'est pas multiple de 3 je m'arrête (c'est forcément faux),
2) Je vérifie la validité de mes 3 prochains caractères, je m'arrête si ils ne forment pas une expression,
3) Je continue tant que mes 3 prochains caractères sont valides.
C'est très simple à mettre en place, je te conseil d'utiliser la méthode substring de la classe string, qui te une sous-chaine depuis un indice n jusqu'a un indice m -> split(int indiceDebut, int indiceFin), à utiliser, ici, dans une boucle for.