Java 如何通过只调用一次OutofOrder来进一步简化InOrder代码?
在试图找到一种简化顺序代码的方法时遇到了困难,因此它只能对顺序以外的代码进行一次单独调用。我很难找到打电话的方法Java 如何通过只调用一次OutofOrder来进一步简化InOrder代码?,java,if-statement,return,boolean,simplify,Java,If Statement,Return,Boolean,Simplify,在试图找到一种简化顺序代码的方法时遇到了困难,因此它只能对顺序以外的代码进行一次单独调用。我很难找到打电话的方法 public class InOrder { //Don't change this public boolean OutOfOrder(int n1, int n2, int n3) { return (n1 > n2) || (n2 > n3); } //The original and messy InOrder, leave this as an example
public class InOrder {
//Don't change this
public boolean OutOfOrder(int n1, int n2, int n3) {
return (n1 > n2) || (n2 > n3);
}
//The original and messy InOrder, leave this as an example of what not to do
public boolean inOrder(int n1, int n2, int n3) {
if (n2 > n1) {
if (n3 > n2) {
return true;
} else {
return false;
}
} else if (n2 == n1) {
if (n3 == n1) {
return true;
} else {
return false;
}
} else {
return false;
}
}
//The new and improved InOrder for part 5, call OutOfOrder
public boolean inOrder5a(int n1, int n2, int n3) {
return true; //replace this
}
}
如果要否定结果,请使用以下方法:
public boolean inOrder(int n1, int n2, int n3) {
return !OutOfOrder(n1, n2, n3);
}
除了Cyril的答案外,您还可以通过对
OutOfOrder
中的逻辑语句求反,得到一个新的inoorder
OutOfOrder
表示pvq
(读:p或q)其中:
是p
,并且n1>n2
是q
n2>n3
~(pvq)
=~p^~q
(读:非p非q)
因此:
是~p
),以及n1n2
是~q
)n2-n3
按顺序重写为
返回(n1