我的do-while语句有问题。我创建了一个 do-while 循环以确保唯一接受的输入是"e"或"o"(不区分大小写(,但是,即使我插入了所需的输入,它也会继续循环。任何帮助不胜感激!
当前代码和结果
这句话:while(!side.equalsIgnoreCase("O") || !side.equalsIgnoreCase("E"));
总是正确的
如果您输入E
或e
,则此!side.equalsIgnoreCase("E")
为假,但此!side.equalsIgnoreCase("O")
为真
如果您输入O
或o
,则此!side.equalsIgnoreCase("O")
为假,但此!side.equalsIgnoreCase("E")
为真
由于您使用的是||
,因此true || false
为您提供true
因此循环永远不会结束
对于所有其他输入,两者都为真(true || true
(,这也是真的
您需要将其替换为:while(!side.equalsIgnoreCase("O") && !side.equalsIgnoreCase("E"));