This question already has answers here:
How do I compare strings in Java?
(23个答案)
6年前关闭。
当我调试此代码时,我注意到If语句从未将布尔类型sales变量切换为true ...这让我很烦,因为当它进入If语句时,我知道答案=“ y”。请帮助!是的,我确实导入了java.util.Scanner
我有
请注意,在Java中,
正如@MadProgrammer建议的那样,反转比较顺序是个好主意-如果
(23个答案)
6年前关闭。
当我调试此代码时,我注意到If语句从未将布尔类型sales变量切换为true ...这让我很烦,因为当它进入If语句时,我知道答案=“ y”。请帮助!是的,我确实导入了java.util.Scanner
Scanner input = new Scanner(System.in);
boolean sales = false;
String answer;
System.out.print("Will you be calculating the Sales department pay aswell? (y or n):");
answer = input.nextLine().trim();
if (answer == "y")
{
sales = true;
}
我有
最佳答案
比较字符串的正确方法是:
if (answer.equals("y"))
请注意,在Java中,
equals()
用于测试对象之间的相等性,而==
运算符用于测试身份。它们是两个不同的概念,大多数时候您对平等感兴趣。正如@MadProgrammer建议的那样,反转比较顺序是个好主意-如果
answer
为null
会更安全:if ("y".equals(answer))
关于java - 如果语句不接受适当的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20253863/