【发布时间】:2013-07-11 05:56:45
【问题描述】:
我用 Java 写了这个小程序作为练习(它模拟了 7 个电子逻辑门),因为我目前正在学习它。但是当我尝试编译它时,它给了我几个错误,指出 "MISSING RETURN STATEMENT",但仅适用于具有 2 个 if 语句(AND、OR、NAND 和 NOR)的子例程。我想知道是否有一些关于 Java if 语句我不知道的东西。我也想知道在 Java 中是否有办法像在 C 中那样做if(X && Y)。无论如何,这里是代码:
package logic;
public class logic {
boolean AND(boolean A, boolean B) {
if(A==true) {
if(B==true)
return true;
}
else
return false;
}
boolean OR(boolean A, boolean B) {
if(A==false) {
if(B==false)
return false;
}
else
return true;
}
boolean NOT(boolean A) {
if(A==true)
return false;
else
return true;
}
boolean NAND(boolean A, boolean B) {
if(A==true) {
if(B==true)
return false;
}
else
return true;
}
boolean NOR(boolean A, boolean B) {
if(A==false) {
if(B==false)
return true;
}
else
return false;
}
boolean XOR(boolean A, boolean B) {
if(A==B)
return false;
else
return true;
}
boolean XNOR(boolean A, boolean B) {
if(A==B)
return true;
else
return false;
}
}
和错误信息:
logic/logic.java:10: error: missing return statement
}
^
logic/logic.java:18: error: missing return statement
}
^
logic/logic.java:32: error: missing return statement
}
^
logic/logic.java:40: error: missing return statement
}
^
4 errors
接受所有帮助或建议。
由于某种原因,当我尝试使用if(A==true && B==true)之前它不起作用,但现在它可以了。
【问题讨论】:
-
对于
AND、return A && B、对于OR、return A || B等,还是完全省略函数? -
A == true是多余的,可以简化为A。 -
@Dukeling 不过这只是个人喜好问题
-
@RichardTingle 请不要。在我处理的任何代码中,无论我在哪里看到
== true或== false(显然替换为!...),我都会着迷地删除它。 -
@RichardTingle
if (John.isHuman == true)用词——“如果约翰是人类是真的”。我不了解你,但这不是我说话的方式,因此不是我编码的方式。尽管您对!something有意见,尽管它只适用于不熟悉此类语法的程序员,但您已经习惯了足够快地阅读!。
标签: java if-statement return