gpt4 book ai didi

java - Java中如何判断用户输入的字符串是否为某个字母?

转载 作者:行者123 更新时间:2023-12-02 01:39:41 25 4
gpt4 key购买 nike

我知道这是一个重复的问题,但我的问题更多地涉及 boolean 运算符:我正在构建一个简单的石头、剪刀、布游戏。每个玩家必须输入“R”、“P”或“S”。

这个简单的 if 语句

if (!p1Input.equals("R") || !p1Input.equals("P") || !p1Input.equals("S")) {
System.out.println("Player one, not a valid input.")
}
如果字符串不是这三个字母,

应该运行打印语句。然而,即使字符串等于其中一个字母,它仍然会打印出无效的输入。

或者,我也可以

if (p1Input.equals("R") || p1Input.equals("P") || p1Input.equals("S"))

这可行,但我需要将玩家 2 的输入合并到 with

if (p1Input.equals("R") || p1Input.equals("P") || p1Input.equals("S") && p2Input.equals("R") || p2Input.equals("P") || p2Input.equals("S"))

但是如果两个玩家输入都不是 R、S 或 P,则该语句仅打印无效。我不确定哪些运算符 && 或 ||使用和在哪里。最好我想使用“不等于条件”

最佳答案

这是你的 boolean 逻辑有问题。基本上,在检查输入时,您是在对程序说:“如果输入与 R P S 不同,则它是无效的”。好吧,假设用户输入“P”。 “P”与“R”不同,与“S”不同,所以你的程序会认为它是无效的。相反,请将“OR”运算符 (||) 替换为“AND”运算符 (&&),如下所示:

if (!p1Input.equals("R") && !p1Input.equals("P") && !p1Input.equals("S")) {
System.out.println("Player one, not a valid input.")
}

现在,您告诉您的程序,当输入同时与“R”“P”“S”不同时,该输入无效“(所以不能是这些字母中的任何一个)。

关于java - Java中如何判断用户输入的字符串是否为某个字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54623743/

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