2016-11-23 2 views
0

Ich möchte fragen, ob es eine Möglichkeit gibt, dass Sie eine While-Schleife in Java schreiben können, die den Hauptzähler auch innerhalb der Schleife hat, das heißt, wenn Sie die Schleife beenden Zählervariable wird ebenfalls zerstört.Java: While-Schleife mit selbst enthaltenem Zähler

Zum Beispiel, wenn wir diese Schleife verlassen:

for (int i = 0; i < 10; i++) { 
    //do something 
} 

die Variable i als auch zerstört wird, wodurch der Code sauber zu halten.

Aber für eine while Schleife müssen wir eine Zählervariable außerhalb der Schleife selbst erstellen; Wenn also die Schleife beendet wird, existiert die Zählervariable noch im Hauptprogramm.

int counter = 0; 
while (counter < 10) { 
    counter++; 
} 
counter--; //we can still manipulate the counter variable here 

Was möchte ich fragen ist: Gibt es eine Möglichkeit, die Zählervariable in der while Schleife setzt sich, wie zum Beispiel:

while ((int i = 0) < 10) { 
    counter++; 
} 
+0

Warum ist es wichtig, den Zähler zu "zerstören"? Inwiefern ist das "sauber"? –

+5

Nun, das ist die for-Schleife. Was stimmt damit nicht? –

+0

@ScottHunter Der Zähler kann später versehentlich geändert werden und kann einen Fehler verursachen, oder wenn Sie viele while-Schleifen und -Zähler haben, wird der Namespace ziemlich unordentlich sein. Aber meistens möchte ich nur, dass es sauber ist. –

Antwort

3

Sie { und } um die int counter setzen und while Schleife.

{ 
    int counter = 0; 
    while (counter < 10) { 
    counter++; 
    } 
} 
// counter is inaccessible here 

Aber das ist wirklich viel unordentlicher als nur mit einer for-Schleife.

+0

Vielen Dank, schön zu wissen, dass das möglich ist. Und sicher ist es viel unordentlicher als nur eine For-Schleife, das ist vielleicht der Grund, warum ich es noch nie zuvor gesehen habe. –

0

Soweit ich weiß, müssen Sie "externe" Zähler verwenden.