Java do while-Schleife, die das Testen von Strings anders macht
Ich bin sehr verwirrt über das Verhalten bei der Verwendung von || Operator für die Funktion .equals. Gibt es einen Grund, warum ich es nicht für Saiten oder ähnliches verwenden kann?
das funktioniert
do{
System.out.println("Play again? [Y/N]");
//input: Y
play = in.nextLine();
play = play.toUpperCase();
}
while(!"Y".equals(input) ); //breaks out of loop (as it should)
Warum funktioniert das nicht?!
do{
System.out.println("Play again? [Y/N]");
//input: Y
play = in.nextLine();
play = play.toUpperCase();
}
while( !"Y".equals(input) || !"N".equals(input) ); //infinite loop