Java делает пока цикл, заставляющий тестирование строки действовать по-другому

Я очень смущен поведением использования || оператор функции .equals. Есть ли причина, по которой я не могу использовать его на строках или что-то?

это работает:

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)

почему это не работает ?!

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

Ответы на вопрос(0)

Ваш ответ на вопрос