我写了这个小程序作为Java练习(它模拟7个电逻辑门),因为我目前正在学习它。但是当我尝试编译它时,它给了我几个错误,说明了"MISSING RETURN STATEMENT"
,但仅限于具有2个if语句(AND,OR,NAND和NOR)的子例程。我想知道是否有什么我不知道Java的if语句。我也想知道是否有在Java中的方式做if(X && Y)
,像C.无论如何,这里是代码:缺失返回资料
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','返回A && B',对于'OR','return A || B'等,或者完全省略这些功能? – Dukeling
'A == true'是多余的,可以简化为'A'。 – Dukeling
@Dukeling这是一个味道的问题,然而 –