Japanese subtitles

← Input Validation

Get Embed Code
5 Languages

Showing Revision 1 created 10/29/2014 by K2480.

  1. 実は両方とも正解です 理由を説明していきます
  2. まずは青字の構文を見ると初期値は100に
    設定されています 値が100以上であれば
  3. ループ処理が行われます
    実際にループするか確認してみましょう
  4. ユーザに値を入力するよう指示します
    ユーザは指示を無視して200を入力するとします
  5. すると値はまだ100以上なので
    最初の構文に戻ります
  6. そして再びループします
    これがwhileループの目的です
  7. 値が100以上なら
    ユーザに入力するよう指示し続けます
  8. 100未満の値を得るのが目的だからです
    while文の条件は常に目的とは
  9. 反対のものであることに注意してください
    今度はユーザが指示を理解して
  10. 99と入力したとします
    99は100未満なのでループの先頭に戻ります
  11. 最後までうまくいきましたので
    これは適切な解決策でした
  12. 次は黒字の方を見ます
    青字の方法とは少し違いますね
  13. ユーザに100未満の値を入力するよう指示します
    正常な値が入力されるとループがきます
  14. この場合ループ処理には入りません
    今回は正しく処理されました
  15. 次に最初からユーザが間違わないパターンを
    見てみましょう 構文の最初に戻ります
  16. ユーザに100未満の値を入力するように指示します
    200と入力されますが
  17. 100以上なのでループ処理に入ります
  18. ユーザに再度指示して
    適切な値が入力されたとします
  19. 最初に戻ると条件が満たされています
    こちらもうまくいきました
  20. ただしどちらの解決策も少し不十分です
    最初の構文を見てください
  21. この値はユーザが入力するものではなく
  22. 最初のループ処理に入るために
    こちらが設定したもので少し体裁が悪いです
  23. こちらの構文では同じコードを繰り返しています
    この2つの命令文は
  24. まったく同じです 同じ内容を繰り返すのは
  25. ユーザが入力した値を得てから
    それが適切かどうか判断する必要があるからです
  26. そしてユーザが適切な値を入力するまで
    指示を出し続けます
  27. 同じ構文を繰り返すのもあまりよくありません
    Javaの命令文を使って解決してみましょう