java.util.Scanner&的问题字符串

时间:2010-09-25 13:02:54

标签: java terminal java.util.scanner

我尝试用java.util.Scanner实现一个简单的yes / no输入。我的代码如下所示:

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 个答案:

答案 0 :(得分:3)

您无法使用==来比较Java中的字符串(嗯,您可以,但这不是比较其文字值的正确方法)。您需要使用equals()

  if ("y".equals(answ)) { return true; }
  if ("n".equals(answ)) { return false; }