-
Title:
Validation d'entrée - Introduction à la programmation en Java
-
Description:
13-02 Validation d'entrée
-
Ils sont en fait tous deux bons.
Voyons pourquoi.
-
Regardons d'abord le code bleu.
-
Quand nous commençons, la valeur est 100.
-
Nous allons à la boucle, la valeur
est supérieure ou égale à 100.
-
Nous l'avons mis en place pour
nous assurer d'entrer la boucle.
-
Nous demandons à l'utilisateur
d'entrer une valeur.
-
Disons que l'utilisateur
n'est pas coopératif
-
et entre 200, puis nous remontons.
-
La valeur est toujours
supérieure ou égale à 100
-
et nous revenons dans la boucle.
-
C'était tout le but
de cette boucle.
-
Nous voulions continuer à
demander à l'utilisateur
-
alors que la valeur est supérieure
ou égale à 100,
-
comme notre objectif est d'obtenir
une valeur inférieure à 100.
-
Rappelez-vous, la condition while
est toujours l'opposé de l'objectif.
-
Alors maintenant, disons que
l'utilisateur s'améliore, entre 99.
-
Je reviens en haut de la boucle.
-
99 est inférieur à 100.
-
Et nous poursuivons, donc ça a marché.
-
Donc, celui-ci était une bonne solution.
-
Regardons à présent la solution noire
qui est un peu différente.
-
Nous demandons à l'utilisateur
d'entrer une valeur inférieure à 100.
-
Et disons qu'ils le font.
-
C'est alors que vient la boucle.
-
Cette boucle n'est jamais entrée.
-
Et dans ce cas, nous obtenons
le bon comportement.
-
Regardons un autre cas où l'utilisateur
ne fait pas d'erreur en premier lieu.
-
Donc, nous revoilà en haut.
-
Nous demandons à l'utilisateur
d'entrer une valeur inférieure à 100.
-
L'utilisateur entre 200
-
C'est supérieur ou égal à N100,
alors nous entrons dans la boucle
-
et nous redemandons à l'utilisateur et
disons non s'il donne la bonne réponse.
-
Nous revenons ensuite en haut
et sommes satisfaits.
-
Ça fonctionne donc aussi.
-
Mais les deux solutions
sont un peu insatisfaisantes.
-
Regardez la première ici.
-
Nous avons cette astuce où
-
nous définissons la valeur
à une valeur artificielle,
-
non à une entrée de l'utilisateur afin
d'entrer la boucle la première fois.
-
C'est un peu moche.
-
Dans la deuxième, nous répétons
une partie du code.
-
Regardez cette instruction-ci
et celles-là,
-
ce sont exactement les mêmes
instructions et nous devons les répéter
-
car nous devons obtenir
l'entrée de l'utilisateur
-
avant de pouvoir voir si c'est bon.
-
Nous devons continuer à embêter
l'utilisateur jusqu'à ce que ce soit bon.
-
Cette répétition est également
un peu indésirable.
-
Il y a une instruction Java qui peut
prendre en charge ce problème.