java将字符检查“包含AZ”转换为“不包含AZ”
我想检查字符串输入是否包含字母以外的字符。以下是我目前的代码:
if ((name.charAt(i) >= 'a' && name.charAt(i) <= 'z') ||
((name.charAt(i) >= 'A' && name.charAt(i) <= 'Z')))
如何更改代码,使其功能为检查name.charAt(i)
是否不等于A
到Z
或a
到z
你可以在下面搜索框中键入要查询的问题!
我想检查字符串输入是否包含字母以外的字符。以下是我目前的代码:
if ((name.charAt(i) >= 'a' && name.charAt(i) <= 'z') ||
((name.charAt(i) >= 'A' && name.charAt(i) <= 'Z')))
如何更改代码,使其功能为检查name.charAt(i)
是否不等于A
到Z
或a
到z
# 1 楼答案
# 2 楼答案
我将演示一种系统的方法,它可以在其他类似情况下帮助您。首先,为了提高可读性,将char提取到本地变量
现在你可以用德摩根定律来处理这个问题。为了简化操作,我将为每个部分声明一些辅助布尔变量:
所以,我们把你的原始表达为
我们想要这个表达式的负数:
让我们把它清理干净。申请
得到
然后申请
对于内部表达式:
现在将原始表达式替换回,将
<=
求反为>
,将>=
求反为<
:这是您正在寻找的否定表达式,清除了任何显式否定
# 3 楼答案
而不是比较大写字母和大写字母;小写,使用字符。isLetter(char c)方法,因为它检查两种情况
# 4 楼答案
只要否定你的条件: