, wie ich eine While-Schleife tun:Ist es möglich, Variablen innerhalb einer Bedingung zu deklarieren? Dies ist
boolean more = true;
while (more)
{
// do something
if (someTest())
{
more = false;
}
}
Die ziemlich Standard ist. Ich bin neugierig, ob es einen Weg gibt, etwas ähnlich dem folgenden Code in Java zu tun: (Ich glaube, ich so etwas wie es in C gesehen habe)
// The code below doesn't compile (obviously)
while (boolean more = true)
{
// do something
if (someTest())
{
more = false;
}
}
ich dies nur fragen, weil zur Zeit I don‘ t wie die Art, wie ich die Variable in der Bedingung (in diesem Fall: "mehr") definiert außerhalb den Umfang der Schleife, obwohl es nur relevant ist innerhalb der Schleife. Es hat keinen Sinn, dass es nach dem Ende der Schleife herumhängt.
* * Update * *
Eine Idee kam ich nach einem Besuch in der Porcaline Kammer des Schreckens:
for (boolean more=true; more; more=someTest())
{
// do something
}
Es ist nicht perfekt; Es missbraucht die for-Schleife und ich kann mir keinen Weg vorstellen, die Schleife mindestens einmal auszuführen, aber es ist nah ... Gibt es eine Möglichkeit, sicherzustellen, dass die Schleife 1+ mal durchgeführt wird?
for (boolean more = true; mehr; more = someTest()) ... wird immer mindestens einmal ausgeführt. – Pyrce