Задать вопрос
@itfan

Почему if не обрабатывает результаты из сканнера?

Scanner inData = new Scanner(System.in);
System.out.println("Would you like to continue?");
String answer = inData.nextLine();
if (answer == "yes"){
System.out.println("Test!");
}


Не могу понять никак. Если просто выводить на экран, то выводит yes без проблем. Если жёстко задать answer и потом сравнить, то отрабатывает корректно. Однако если брать inData.next() или inData.nextLine(), сравнение почему-то не работает. Test выводится только если != yes. В чём загвоздка?
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
Решения вопроса 1
Scorpi
@Scorpi
== сравнивает ссылки, а не значения.
Сравнивать нужно через equals

if (answer.equals("yes"))

https://javarush.ru/groups/posts/equals-java-sravn...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы