gpt4 book ai didi

java - 如何使用或 ||... 比较字符串

转载 作者:行者123 更新时间:2023-11-30 07:01:29 27 4
gpt4 key购买 nike

//我需要 while 循环在用户键入 y 或 n 时中断。但到目前为止我只能为一个字母/字符串获取它。

Scanner user_input = new Scanner(System.in);
String name = user_input.next();
System.out.print("Would you like to order some coffee, "+name+"? (y/n)");
String coffeeYorN = user_input.next();

while (!coffeeYorN.equals("y")||!coffeeYorN.equals"n") //HERE IS MY ISSUE
{
System.out.println("Invalid response, try again.");
System.out.print("Would you like to order some coffee, "+name+"? (y/n)");
coffeeYorN = user_input.next();
}

最佳答案

I need the while loop to break when the user types y OR n

那么你的条件应该是:

while (!coffeeYorN.equals("y") && !coffeeYorN.equals("n"))

或者等效的,但更清晰一点的版本,我认为这是你想要做的:

while (!(coffeeYorN.equals("y") || coffeeYorN.equals("n")))

让我们检查真值表:

Y - coffeeYorN.equals("y")
N - coffeeYorN.equals("n")

case Y N (!Y || !N) !(Y || N)
0 0 0 1 1
1 0 1 1 0
2 1 0 1 0
3 1 1 0 0

您希望条件评估为 true 并且循环仅在 0 的情况下继续进行,当既不是 Y 也不是 N 为真,并停止所有其他情况。按照你的方式,它只会在 coffeeYorN 同时等于 "y""n" 时停止(案例 3),这永远不会发生。

关于java - 如何使用或 ||... 比较字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29787402/

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