Проблема с java.util.Scanner & strings - PullRequest
       19

Проблема с java.util.Scanner & strings

0 голосов
/ 25 сентября 2010

Я попытался реализовать простой ввод да / нет с помощью java.util.Scanner.Мой код выглядит так:

public boolean ask(String quest){
  String answ = scann(quest + " (y/n)");
  answ = answ.split("")[1].toLowerCase();
  if(answ == "y") { return true; }
  if(answ == "n") { return false;}

  //if answer isnt understood
  printOut("Please enter 'y' or 'n'! Answered: " + answ +"!");
  return ask(quest);
}

Чтобы сделать его коротким: он заканчивается бесконечным запросом ответа.Ответ никогда не понимается, я не понимаю, что я сделал не так.

1 Ответ

3 голосов
/ 25 сентября 2010

Вы не можете использовать == для сравнения строк в Java (ну, вы можете, но это не правильный способ сравнить их буквальные значения). Вам нужно использовать equals():

  if ("y".equals(answ)) { return true; }
  if ("n".equals(answ)) { return false; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...