我认为这可以通过使用'!'来实现(NOT)
是的。您还没有正确地应用它来适应您的情况:
你从这句话开始:
()
检查输入是否包含中的任何,并且您希望否定此声明。
您可以将整个语句包装在括号中(!(userInput6.toLowerCase().contains("java") ||
userInput6.toLowerCase().contains("code") ||
userInput6.toLowerCase().contains("string")))并取消:
a || b
或应用DeMorgan's law来否定断言,其中指出!a && !b的否定是!userInput6.toLowerCase().contains("java") &&
!userInput6.toLowerCase().contains("code") &&
!userInput6.toLowerCase().contains("string")。
因此,正如评论中所述的Carcigenicate一样,您需要
||
代替。
您的语句只是检查字符串是否包含这些子字符串中的至少一个。这意味着只有当字符串包含所有这些字符串时,检查才会失败。对于true,如果任何操作数为true,则整个语句为.toLowerCase。
此外,mkobit指出您要检查的字符串应该完全小写。否则,您正在检查false d字符串是否包含大写字符 - 总是 if。
更容易想到的方法可能是反转您的if (userInput6.toLowerCase().contains("Java") ||
userInput6.toLowerCase().contains("Code") ||
userInput6.toLowerCase().contains("String")) {
System.out.println("Your string contains 'Java, 'Code' or 'String'.");
} else {
System.out.println("I see your does not string contain 'Java', 'Code' or 'String, here is your string:- " + userInput6);
}声明:
System.OutOfMemoryException: Out of memory.