Do Loop Until 繰り返し [VB]

繰り返し処理を最低1回は実行

繰返し制御文
For Next
For Next 入れ子
For Step Next
For Each Next
Exit For 強制終了
Do While Loop
Do Until Loop
Do Loop While
Do Loop Until
Exit Do 強制終了

Do Loop Until は、繰り返し処理後に条件式を判定します。条件を満たしていなければ、さらに繰り返し処理を実行します。

繰り返し処理後に条件式を判定するので、最低1回は繰り返し処理を実行します。

  Do
      ' Do から Loop Until の間を最低1回は実行する
      ............
      ........
      ................
  Loop Until 条件式

Do Loop Until サンプルプログラム

Do Loop Until を使って、キーボードから入力した整数値を合計します。

合計値が100を超えたら、キーボードからの入力を終了して、合計値を表示するプログラムを作成します。

最初に100超の整数を入力すると、sum がその時点で100超なので、繰り返し処理は終了して、その値が合計値に表示されます

数字以外を入力するとエラー表示して、プログラムが強制終了します。

入力エラーの対応は、キーボードから再入力できるプログラム を参考にしてください。

入力エラー時の再入力プログラム

ソースリストの枠内をクリックすると全選択できます。

Module Module1

  Sub Main()
      ' 変数の宣言
      Dim inStr As String
      Dim inNum As Integer = 0
      Dim sum As Integer = 0

      ' Do Loop Until を使って
      ' 入力値の和が100を超えるまで入力を続ける
      Dim msg As String = "整数を入力して下さい"
      Do
          Console.WriteLine(msg)
          ' キーボードから入力
          inStr = Console.ReadLine()
          ' 入力した文字列を整数に変換
          inNum = Integer.Parse(inStr)
          ' 入力値を加算
          sum = sum + inNum
      Loop Until sum <= 100

      ' 合計値を表示
      Console.WriteLine()    ' 改行
      Console.WriteLine("入力値の合計は")
      Console.WriteLine(sum)
      Console.WriteLine("です")
  End Sub

End Module

Do Until では、最初に条件式の判定があり、Do Until の実行前に sum が 100 超の場合には、Do Until ...... Loop の間を1回も実行ぜずにプログラムが進行します。

  ' Do Untilでは
  Do Until sum > 100
      ............
  Loop

次回は、Exit do について学習します。

次回:Exit do