French subtitles

← Validation d'entrée - Introduction à la programmation en Java

13-02 Validation d'entrée

Get Embed Code
5 Languages

Showing Revision 2 created 05/07/2018 by Michel Smits.

  1. Ils sont en fait tous deux bons.
    Voyons pourquoi.
  2. Regardons d'abord le code bleu.
  3. Quand nous commençons, la valeur est 100.
  4. Nous allons à la boucle, la valeur
    est supérieure ou égale à 100.
  5. Nous l'avons mis en place pour
    nous assurer d'entrer la boucle.
  6. Nous demandons à l'utilisateur
    d'entrer une valeur.
  7. Disons que l'utilisateur
    n'est pas coopératif
  8. et entre 200, puis nous remontons.
  9. La valeur est toujours
    supérieure ou égale à 100
  10. et nous revenons dans la boucle.
  11. C'était tout le but
    de cette boucle.
  12. Nous voulions continuer à
    demander à l'utilisateur
  13. alors que la valeur est supérieure
    ou égale à 100,
  14. comme notre objectif est d'obtenir
    une valeur inférieure à 100.
  15. Rappelez-vous, la condition while
    est toujours l'opposé de l'objectif.
  16. Alors maintenant, disons que
    l'utilisateur s'améliore, entre 99.
  17. Je reviens en haut de la boucle.
  18. 99 est inférieur à 100.
  19. Et nous poursuivons, donc ça a marché.
  20. Donc, celui-ci était une bonne solution.
  21. Regardons à présent la solution noire
    qui est un peu différente.
  22. Nous demandons à l'utilisateur
    d'entrer une valeur inférieure à 100.
  23. Et disons qu'ils le font.
  24. C'est alors que vient la boucle.
  25. Cette boucle n'est jamais entrée.
  26. Et dans ce cas, nous obtenons
    le bon comportement.
  27. Regardons un autre cas où l'utilisateur
    ne fait pas d'erreur en premier lieu.
  28. Donc, nous revoilà en haut.
  29. Nous demandons à l'utilisateur
    d'entrer une valeur inférieure à 100.
  30. L'utilisateur entre 200
  31. C'est supérieur ou égal à N100,
    alors nous entrons dans la boucle
  32. et nous redemandons à l'utilisateur et
    disons non s'il donne la bonne réponse.
  33. Nous revenons ensuite en haut
    et sommes satisfaits.
  34. Ça fonctionne donc aussi.
  35. Mais les deux solutions
    sont un peu insatisfaisantes.
  36. Regardez la première ici.
  37. Nous avons cette astuce où
  38. nous définissons la valeur
    à une valeur artificielle,
  39. non à une entrée de l'utilisateur afin
    d'entrer la boucle la première fois.
  40. C'est un peu moche.
  41. Dans la deuxième, nous répétons
    une partie du code.
  42. Regardez cette instruction-ci
    et celles-là,
  43. ce sont exactement les mêmes
    instructions et nous devons les répéter
  44. car nous devons obtenir
    l'entrée de l'utilisateur
  45. avant de pouvoir voir si c'est bon.
  46. Nous devons continuer à embêter
    l'utilisateur jusqu'à ce que ce soit bon.
  47. Cette répétition est également
    un peu indésirable.
  48. Il y a une instruction Java qui peut
    prendre en charge ce problème.