Gestern las ich über den Komma-Operator in Java für for-Schleifen. Was funktionierte, wie ich es erwartet hatte. Ich dachte an diese Konstruktion, aber es funktioniert nicht wie erwartet.Do {} while (,) mit Komma-Operator, ist das überhaupt möglich?
';' expected
} while((userInput < 1 || userInput > 3), wrongInput = true);
';' expected
} while((userInput < 1 || userInput > 3), wrongInput = true);
Meine Idee war, dass nach einer Iteration, wenn die userInput
war nicht zwischen 1 und 3, soll es boolean wrongInput
zu true
so dass während der nächsten Iteration wird eine Fehlermeldung angezeigt wird eingestellt. Zeigt an, dass userInput
ungültig war.
private int askUserToSelectDifficulty() {
int userInput;
Boolean wrongInput = false;
do{
if(wrongInput) println("\n\t Wrong input: possible selection 1, 2 or 3");
userInput = readInt();
} while((userInput < 1 || userInput > 3), wrongInput = true);
return userInput;
}
I vorstellen, dass vielleicht weil dies innerhalb der äquivalent zu dem bedingten Teil einer for-Schleife, dass diese ungültige Syntax ist. Weil Sie im bedingten Teil keinen Kommaoperator verwenden können? Giving multiple conditions in for loop in Java Java - comma operator outside for loop declaration
einen Blick auf Java-Operatoren - https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html – Joseph118
und diese Beispiele Koma verwendet werden mehrere Werte aber nicht Bedingungen – Joseph118
@ Joseph118 zuweisen Gut zu wissen, dass das, überhaupt kein Operator in Java ist, wie die NPE schon darauf hingewiesen hat. Es ist in der Tat nicht in der Dokumentation. – Joop