gpt4 book ai didi

java - 只要用户输入不等于某些单词就运行的 while 循环不起作用?

转载 作者:行者123 更新时间:2023-12-02 05:15:48 24 4
gpt4 key购买 nike

我不明白为什么这不起作用。无论我输入什么内容,程序总是会重新提示我,即使它是有效的操作词。

String action = "";
do {
System.out.print("Enter what you want to do (ADD, REMOVE, "
+ "LIST, SAVE, SORT): ");
action = keyboard.next();
} while ((!(action.equalsIgnoreCase("ADD"))
|| !(action.equalsIgnoreCase("REMOVE"))
|| !(action.equalsIgnoreCase("LIST"))
|| !(action.equalsIgnoreCase("SAVE"))
|| !(action.equalsIgnoreCase("SORT"))));

最佳答案

正确。您使用了 or,但您想要 and。

((!(action.equalsIgnoreCase("ADD")) 
&& !(action.equalsIgnoreCase("REMOVE"))
&& !(action.equalsIgnoreCase("LIST"))
&& !(action.equalsIgnoreCase("SAVE"))
&& !(action.equalsIgnoreCase("SORT"))));

每个单词都满足测试,不添加或不删除。您可以申请De Morgan's Laws就像,

(!(action.equalsIgnoreCase("ADD")  
|| action.equalsIgnoreCase("REMOVE")
|| action.equalsIgnoreCase("LIST")
|| action.equalsIgnoreCase("SAVE")
|| action.equalsIgnoreCase("SORT")))

关于java - 只要用户输入不等于某些单词就运行的 while 循环不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26960832/

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