gpt4 book ai didi

java - if 语句中的多个字符串条件

转载 作者:行者123 更新时间:2023-12-01 13:18:19 25 4
gpt4 key购买 nike

我正在编写一个简单的程序,在其中我需要获取用户的是/否输入(我为此使用扫描仪、UI),如下所示:

    System.out.println("Do you know the insulation capacity? (y/n) ");
String IC = UI.nextLine();

这工作得很好,但我在下一节中遇到了麻烦,我在 if 语句中检查字符串:

    if(IC == "y" || IC == "Y" || IC == "yes" || IC == "Yes"){ //four options of saying "yes"
System.out.print("What is the insulation capacity? ");
m = UI.nextDouble();
}else if(IC == "n" || IC == "N" || IC == "no" || IC == "No"){ //four options of saying "no"
findM();
}else{
System.out.println("Answer was not clear. Use y, n, yes, or no.");
checkM();
}

当我运行程序时,else 总是被执行,即使 IC 是 Y、y、Yes... 等。

为什么会出现这种情况以及如何让它发挥作用?

谢谢

-正义

最佳答案

您应该将Stringsequals而不是==进行比较。否则,您将比较引用,而不是它们的值,这正是您想要的。

此外,在本例中equalsIgnoreCase可能对你有帮助。您只需要 2 次比较,而不是 4 次。

示例:

if(IC.equalsIgnoreCase("y") || IC.equalsIgnoreCase("yes"))

关于java - if 语句中的多个字符串条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22276242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com