2017-09-21 4 views
-2

Das klingt vielleicht wie eine elementare Frage, aber ich möchte überprüfen, ob mein Denkprozess korrekt ist.Do While-Schleife für die letzte Iteration

Ich habe eine do while-Schleife und ich möchte überprüfen, wenn die Schleife die letzte Iteration eingegeben hat, um entweder einen Wert festzulegen oder nicht. Ich bin mit dieser Lösung gekommen, fühle mich aber nicht und frage mich, ob es einen anderen Weg gibt.

do 
    { 
     int iterationCheck ++; 

     if(iterationCheck! = counter) 
     // Do something 
     counter++; 
    } while (true) 

Ist das korrekt oder gibt es einen besseren Weg?

+0

Dies wird nicht einmal kompilieren, weit weniger richtig laufen. Warum nicht einfach eine For-Schleife verwenden? – EJoshuaS

+0

Nun, dies ist einfach out einen Futterprozess zu zeigen, was das Problem ist, anstatt Ihnen etwas zu kompilieren – Andy5

+0

Es wäre einfacher zu verstehen, die Frage, wenn Sie den tatsächlichen Code, den Sie versucht haben gezeigt. Bitte sehen Sie: [MCVE]. – EJoshuaS

Antwort

0

Sicher können Sie dies tun, um die Iteration zu zählen Aber setzen Sie die 'int iterationCheck = 0' Variablendeklaration vor dem Do/While-Bereich.

Sie für eine ‚für‘ Schleife gehen könnte auch (was besser wäre)

jedoch alles auf den Zustand Ihrer Schleife abhängt. Da wir den Out-Zustand Ihrer Schleife nicht ableiten können, können wir keine genaue Antwort geben.

+0

Ich verstehe, was Sie meinen, aber ich bin im Zug und der Code ist bei der Arbeit. Die while-Bedingung ruft eine Methode auf, die eine Reihe von Dingen überprüft und nicht wirklich auf die Iteration hinweist – Andy5

+0

Rufus-Kommentar könnte dann deine Lösung sein. – grifos

Verwandte Themen