做 While 循环麻烦
do While loop trouble
我的 do-while 语句有问题。我创建了一个 do-while 循环以确保唯一接受的输入是 "e" 或 "o"(不区分大小写),但是,即使我插入了所需的输入,它也会继续循环。任何帮助表示赞赏!
Current Code & Result
这条语句:
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"));
我的 do-while 语句有问题。我创建了一个 do-while 循环以确保唯一接受的输入是 "e" 或 "o"(不区分大小写),但是,即使我插入了所需的输入,它也会继续循环。任何帮助表示赞赏!
Current Code & Result
这条语句:
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"));