繰り返し処理を途中で終了する
繰返し制御文 |
---|
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 強制終了 |
Exit Do を使うと、強制的に繰り返し処理を途中で終了させることができます。
Exit Do は、直ちに繰り返し処理を終了し、繰り返し処理の次からプログラムを実行することができます。
たとえば、Do Loop で繰り返し処理を書くと、繰り返しの終了判定がないので、繰り返し処理を永久に実行することになり、プログラムが終了しません。繰り返し処理をを抜けるためには、Exit Do を使います。
Do While Loopや、 Do Until Loop のように繰り返し終了判定があっても、繰り返し処理を途中で抜ける必要がある時にも、Exit Do を使うことができます。
Exit Do を使ったサンプルプログラム
Do Loop と、Exit Do を使って、キーボードから入力した数値の合計を求めるプログラムを作成します。
キーボードから end を入力すると、合計値を画面に表示してプログラムを終了します。
入力値を文字列から整数に変換するために、Integer.TryParse(入力文字列,変換後の整数)を使い、整数か否かを判定し、整数でなければ、再入力を促すようにプログラミングします。
ソースリストの枠内をクリックすると全選択できます。
Module Module1 Sub Main() ' 変数の宣言 Dim inStr As String = "" Dim inNum As Integer = 0 Dim sum As Integer = 0 Console.WriteLine("入力した整数の合計値を表示します") ' end が入力されるまで数値の入力を続ける Do Console.WriteLine("整数を入力して下さい") Console.WriteLine("end入力すると合計を表示します") ' キーボードから入力 inStr = Console.ReadLine() ' 入力した文字列を整数に変換 If Integer.TryParse(inStr, inNum) = True Then ' 整数に変換できた時 ' 入力値を合計値に加算 sum = sum + inNum Else ' 整数に変換できなかった時 If inStr = "end" Then ' end 入力なら Do Loop を抜ける Exit Do Else ' end 以外なら再入力 Console.WriteLine(inStr & "は整数ではありません") End If End If Loop ' 合計値を表示 Console.WriteLine() ' 改行 Console.WriteLine("入力した整数の合計は") Console.Write(sum) ' 改行しない Console.WriteLine("です") Console.WriteLine("お疲れ様でした") End Sub End Module
上の例では、繰り返し処理の終了判定は、 If inStr = "end" Then でしています。"end"が入力されたら、Exit Do を実行して、繰り返し処理を終了します。
次回は、配列 について学習します。
次回:配列 |
---|