Java输入无法识别字符串

时间:2011-12-26 04:44:11

标签: java

对于以下代码,如果我在键盘上键入y,它将进入分支语句的else部分。那是为什么?

    public static void getInput(){
   String response; 
    String[] coins = new String[6]; 

    System.out.println("Would you like to enter your own amount? (y/n)");  

    Scanner sc = new Scanner(System.in);
    response=sc.nextLine();

    if (response=="y"){
       System.out.println("You entered y");
        }
   else{
       System.out.println("You did not enter y, you entered " + response);
        }
    }

2 个答案:

答案 0 :(得分:2)

你想要response.equals(“y”)。

答案 1 :(得分:1)

问题是条件if(response=="y")

equals( )方法比较String对象中的字符。 ==运算符会比较两个对象引用,以查看它们是否引用同一个实例。

使用

(response.equals("y")