Genauere Betrachtung: Verwenden von Do...While und Do...Until für Wiederholungen, bis eine Bedingung erfüllt ist

Aktualisiert: November 2007

In dieser Lektion erfahren Sie, wie Sie mithilfe der Do...While-Anweisung und der Do...Until-Anweisung Code basierend auf bestimmten Bedingungen wiederholen.

In der vorherigen Lektion haben Sie erfahren, wie ein Codeblock durch die For...Next-Anweisung mit einer festgelegten Anzahl von Wiederholungen durchlaufen wird. Wie gehen Sie aber vor, wenn die Anzahl der Wiederholungen für den Code von bestimmten Bedingungen abhängig ist? Die Anweisungen Do...While und Do...Until ermöglichen, einen Codeblock so lange zu wiederholen, wie eine bestimmte Bedingung True bzw. bis eine bestimmte Bedingung True ist.

Angenommen, Sie müssen einem Programm eine Reihe von Zahlen hinzufügen, möchten jedoch nicht, dass die Summe der Zahlen 100 überschreitet. Mithilfe der Do...While-Anweisung können Sie die Addition wie folgt durchführen:

Dim sum As Integer = 0
Do While sum < 100
  sum = sum + 10
Loop

Im diesem Code wertet die Do While-Zeile die sum-Variable aus, um festzustellen, ob diese unter 100 liegt. Ist dies der Fall, wird die nächste Codezeile ausgeführt; wenn nicht, wird die nächste, auf Loop folgende Codezeile ausgeführt. Das Loop-Schlüsselwort weist den Code an, zurück zur DoWhile-Zeile zu gehen und den neuen Wert von sum auszuwerten.

Übung

So verwenden Sie eine Do...While-Anweisung

  1. Klicken Sie im Menü Datei auf Neues Projekt.

  2. Klicken Sie im Dialogfeld Neues Projekt im Bereich Vorlagen auf Windows-Anwendung.

  3. Geben Sie DoWhile in das Feld Name ein, und klicken Sie dann auf OK.

    Ein neues Windows Forms-Projekt wird geöffnet.

  4. Ziehen Sie ein TextBox-Steuerelement und ein Button-Steuerelement aus der Toolbox auf das Formular.

  5. Doppelklicken Sie auf die Schaltfläche, um den Code-Editor zu öffnen.

  6. Geben Sie im Button1_Click-Ereignishandler folgenden Code ein:

    Dim sum As Integer = 0
    Dim counter As Integer = 0
    Do While sum < 100
      sum = sum + CInt(Textbox1.Text)
      counter = counter + 1
    Loop
    MsgBox("The loop has run " & CStr(counter) & " times!")
    
  7. Drücken Sie F5, um das Programm auszuführen.

  8. Geben Sie in das Textfeld eine Zahl ein, und klicken Sie auf die Schaltfläche.

    In einem Meldungsfeld wird angezeigt, wie oft die Zahl zu sich selbst hinzugefügt werden musste, bis 100 erreicht wurde.

  9. Wählen Sie zum Schließen des Programms im Menü Debuggen den Befehl Debuggen beenden aus. Lassen Sie dieses Projekt geöffnet. Es werden noch weitere Hinzufügungen vorgenommen.

Do...Until-Anweisung

Die Do...While-Anweisung wiederholt eine Schleife, solange eine Bedingung True ist. Manchmal möchten Sie Code aber auch so lange wiederholen, bis eine Bedingung True wird. Sie können die Do...Until-Anweisung folgendermaßen einsetzen:

Dim sum As Integer = 0
Do Until sum >= 100
  sum = sum + 10
Loop

Dieser Code ähnelt dem Code für die Do...While-Anweisung, außer dass der Code diesmal die sum-Variable auswertet, um festzustellen, ob sie gleich oder größer 100 ist.

Übung

Diese Prozedur schließt an "So verwenden Sie eine Do...While-Anweisung" an. Wenn Sie die Übung "So verwenden Sie eine Do...While-Anweisung" noch nicht abgeschlossen haben, müssen Sie dies vor dem Fortsetzen nachholen.

So verwenden Sie eine Do...Until-Anweisung

  1. Fügen Sie den folgenden Code unterhalb der MsgBox-Zeile ein.

    Dim sum2 As Integer = 0
    Dim counter2 As Integer = 0
    Do Until sum2 >= 100
      sum2 = sum2 + CInt(Textbox1.Text)
      counter2 = counter2 + 1
    Loop
    MsgBox("The loop has run " & CStr(counter2) & " times!")
    
  2. Drücken Sie F5, um das Programm auszuführen.

  3. Geben Sie in das Textfeld eine Zahl ein, und klicken Sie auf die Schaltfläche.

    In einem zweiten Meldungsfeld wird angezeigt, wie oft die Zahl zu sich selbst hinzugefügt werden musste, bis 100 erreicht oder überschritten wurde.

Nächste Schritte

In dieser Lektion haben Sie gelernt, wie Sie mithilfe der Do...While- und Do...Until-Schleifen Code bedingungsabhängig wiederholen. Sie können jetzt zur nächsten Lektion, Festlegen von zwei Wahlmöglichkeiten im Programm: Die If...Then-Anweisung, übergehen.

Siehe auch

Aufgaben

Festlegen von wiederholten Aktionen im Programm: Die For...Next-Schleife

Referenz

Do...Loop-Anweisung (Visual Basic)