对于以下代码,如果我在键盘上键入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);
}
}
答案 0 :(得分:2)
你想要response.equals(“y”)。
答案 1 :(得分:1)
问题是条件if(response=="y")
。
equals( )
方法比较String对象中的字符。 ==
运算符会比较两个对象引用,以查看它们是否引用同一个实例。
使用
(response.equals("y")