Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为不同的情况清理一些复杂的逻辑_Java - Fatal编程技术网

Java 为不同的情况清理一些复杂的逻辑

Java 为不同的情况清理一些复杂的逻辑,java,Java,我有下面的图表,它将根据下表中的条件做一些事情 只是想知道这是满足所有条件的最佳方式吗 Java 8 如果rate为true,则应设置2Stars 然后检查折扣是否为真-然后将1Stars设置为真 private void setDisplayTheStars() { if (discount && rate) { 2Stars = true; } else if (!discount && rate) {

我有下面的图表,它将根据下表中的条件做一些事情

只是想知道这是满足所有条件的最佳方式吗

Java 8

如果
rate
为true,则应设置
2Stars

然后检查
折扣
是否为真-然后将
1Stars
设置为真

private void setDisplayTheStars() {
    if (discount && rate) {
        2Stars = true;
    }
    else if (!discount && rate) {
        2Stars = true;
    }
    else if (discount && !rate) {
        1Stars = true;
    }
}
如果您要声明布尔值,那么可以按如下方式执行

if (rate) {
    2Stars = true;
}
else if (discount) {
    1Stars = true;
}

如果
rate
为true,则应设置
2Stars

然后检查
折扣
是否为真-然后将
1Stars
设置为真

private void setDisplayTheStars() {
    if (discount && rate) {
        2Stars = true;
    }
    else if (!discount && rate) {
        2Stars = true;
    }
    else if (discount && !rate) {
        1Stars = true;
    }
}
如果您要声明布尔值,那么可以按如下方式执行

if (rate) {
    2Stars = true;
}
else if (discount) {
    1Stars = true;
}

有多种方法可以实现这一点。我将星星数转换成一个整数,并将其分解为折扣/无折扣或费率/无费率,然后在更广泛的条件中处理其他条件。FWIW,这和业务逻辑一样简单,所以在它变得更复杂之前,它实际上并不重要。有多种方法可以实现这一点。我将星星数转换成一个整数,并将其分解为折扣/无折扣或费率/无费率,然后在更广泛的条件中处理其他条件。FWIW,这和业务逻辑一样简单,所以在它变得更复杂之前,它实际上并不重要。根据您的逻辑,如果速率为真,我们只设置为2star。我在想,如果
折扣为假
费率为真
,则应设置2 tar。这是条件之一。2当利率和折扣都为真时,TARS为真。这意味着当速率为真时,2Stars必须为真。要理解这一点,只需查看您的表并回答以下问题:2Stars何时为真从您的逻辑我们仅在速率为真时设置为2Stars。我在想,如果
折扣为假
费率为真
,则应设置2 tar。这是条件之一。2当利率和折扣都为真时,TARS为真。这意味着当利率为真时,2Stars必须为真。要理解这一点,只需看一下表并回答以下问题:2Stars何时为真