什么代码错了? 我没有发现问题。
public boolean locking(){
if (false)
System.out.print("Open the door");
return false;
else
System.out.print("Now lock the door");
return true; //<- how can i express 'return'?
}
答案 0 :(得分:4)
此代码错过了括号。因此,第一个if
仅指第一个System.out
,而不是return
。
尝试以下方法:
public boolean locking() {
if (false) {
System.out.print("Open the door");
return false;
} else {
System.out.print("Now lock the door");
return true;
}
}
编辑:请记住,上面代码中定义的if条件绝对没有意义。因此,请确保始终比较某些内容,否则您将始终获得相同的结果。
知道使用return语句将退出方法也很重要,这意味着return
下面的任何代码都不会被执行。这允许您省略if语句的else
部分。因为当条件满足时,将执行第一次返回并离开方法,当不满足时,代码继续唯一的其他可能性。这使得代码更轻一些,但在使用多个if语句时会收到警告。
public boolean locking() {
if (false) {
System.out.print("Open the door");
return false;
}
System.out.print("Now lock the door");
return true;
}
答案 1 :(得分:0)
当您使用某些语句(if,for,...)时,如果要在(if)语句中使用多个语句,则应使用括号。
这是错误的(返回值不依赖于(if)语句):
if (false)
System.out.print("Open the door");
return false;
但这是真的(当你使用括号时):
if (false)
{
System.out.print("Open the door");
return false;
}
只需在{ your code }
之后使用括号if
。