【发布时间】:2019-02-11 03:51:54
【问题描述】:
我知道这是一个重复的问题,但我的问题更多地涉及布尔运算符:我正在构建一个简单的石头剪刀布游戏。每个玩家必须输入“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 的输入与
if (p1Input.equals("R") || p1Input.equals("P") || p1Input.equals("S") && p2Input.equals("R") || p2Input.equals("P") || p2Input.equals("S"))
但是如果两个玩家输入都不是 R、S 或 P,则该语句仅打印无效。我不确定哪个运算符 && 或 ||使用和在哪里。最好我想使用“不等于条件”
【问题讨论】:
-
if (!p1Input.equals("R") && !p1Input.equals("P") && !p1Input.equals("S")),如果输入不是R和不是P,和不是S,则打印无效
标签: java if-statement boolean-operations