我的 do-while 语句遇到问题。我创建了一个 do-while 循环来确保唯一接受的输入是“e”或“o”(不区分大小写),但是,即使我插入了所需的输入,它也会继续循环。任何帮助表示赞赏!
1 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
这句话:while(!side.equalsIgnoreCase("O") || !side.equalsIgnoreCase("E"));
永远正确
如果您输入E
or e
,则这!side.equalsIgnoreCase("E")
是 false,但这!side.equalsIgnoreCase("O")
是 true
如果您输入O
or o
,则这!side.equalsIgnoreCase("O")
是 false,但这!side.equalsIgnoreCase("E")
是 true
由于您正在使用||
,true || false
给您true
所以循环永远不会结束
对于每个其他输入,两者都为 true ( true || true
),这也是 true
您需要将其替换为:while(!side.equalsIgnoreCase("O") && !side.equalsIgnoreCase("E"));
添加回答
举报
0/150
提交
取消