Java 有没有一种方法可以使用无序代码,使有序和无序一样简单?
我很难尝试只使用逻辑规则和无序代码的方法,以使InOrder和OurOfOrder一样简单Java 有没有一种方法可以使用无序代码,使有序和无序一样简单?,java,if-statement,return,boolean,call,Java,If Statement,Return,Boolean,Call,我很难尝试只使用逻辑规则和无序代码的方法,以使InOrder和OurOfOrder一样简单 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 no
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
}
//The newer and improved InOrder for part 6, inline
public boolean inOrder5b(int n1, int n2, int n3) {
return true;//replace this
}
}
我会说:
(n2>=n1&&n3>=n2)
似乎数字不是按顺序排列就是按顺序排列,没有第三种选择
因此,您可以按以下顺序实施:
public boolean inOrder(int n1, int n2, int n3) {
return !outOfOrder(n1, n2, n3);
}
你的意思是return(n1return!OutOfOrder(n1,n2,n3);
-假设如果它不是“无序”的,那么它必须是“有序的”:/注意像if(condition){return true;}或者{return false;}这样的构造
可以被返回条件替换;
,这已经极大地简化了您的逻辑。请注意,您当前的代码是不正确的。对于n1
和n2==n3
的情况,它的行为是错误的。因此,例如n1=4
,n2=6
,n3=6
。您的代码说的是false
虽然它是有序的。