2015-11-23 46 views
-8

想知道是否有人可以帮助看到为什么这是返回一个错误上有一个没有if的其他。我试过看其他问题无济于事其他否如果布尔错误

public boolean isLate() { 
if(done = false); AND (deadline.hasPassed = true); { 
return true; 
} else{ 
    return false;} 
} 
+3

学习一些基本的java编码 – Shivam

+0

我认为你需要学习一些基本的Java,如:条件运算符,比较...一些指向的链接:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/ op2.html和https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html –

回答

5

AND是不正确的。它必须被替换为&&并在ìf定义内移动。而且使用==比较,而不是=

if(done == false && deadline.hasPassed == true) { 
    return true; 
} else { 
    return false; 
} 

因为donedeadline.hasPassed似乎是布尔值,可以将其简化书面方式(!意味着not

if(!done && deadline.hasPassed) { 
    return true; 
} else { 
    return false; 
} 

这可以简化为

public boolean isLate() { 
    return !done && deadline.hasPassed; 
} 
+3

直接提供答案并不好,OP不会从中学到任何东西。 – Shivam

+1

这里不需要有条件分支! –

+1

当然,但最初的问题是关于'如果',所以我保留在我的答案。我编辑了我的答案。 – ThomasThiebaud

3

您正在寻找的东西是:

public boolean isLate() { 
    return ((done == false) && (deadline.hasPassed == true)); 
} 

但是这种对java的基本理解可以用google搜索!