0 java boolean-logic conditional-statements
为什么
while(!s1.isEmpty() && !s2.isEmpty())
Run Code Online (Sandbox Code Playgroud)
和
while(!(s1.isEmpty() && s2.isEmpty()))
Run Code Online (Sandbox Code Playgroud)
不一样吗?
因为当我做的时候!(x&y)eclipse给了我一个错误.
http://pastebin.com/8zBK1jQv
错误信息:
Exception in thread "main" java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
这是德摩根定律之一,是布尔代数的基础:
(NOT A) AND (NOT B) == NOT (A OR B)
Run Code Online (Sandbox Code Playgroud)
和它的相反:
(NOT A) OR (NOT B) == NOT (A AND B)
Run Code Online (Sandbox Code Playgroud)
也就是说,要解决你的第二个版本,则必须更换&&
用||
.