Java 运费计算

Calculation of Shipping Costs in Java

我正在尝试为我的作业问题找到解决方案。

任务9:包裹邮费的计算:

Calculator.java

点击"Calculate"按钮,目前正在计算错误的邮费。找到当有人点击按钮时被调用的地方。更正计算,以便计算出以下邮费:

• 包裹不超过 30x30x15 且不超过 1 公斤:3,89 欧元

• 包裹不超过 60x30x15 且不超过 2 公斤:4,39 欧元

• 最多打包 120x60x60 并且最多。皮带尺寸 (= L + 2xB + 2xH) <= 300cm 且不超过 5kg:5,99 欧元

• 最多打包 120x60x60 并且最多。皮带尺寸 (= L + 2xB + 2xH) <= 300cm 且不超过 10kg:7,99 欧元

• 包裹不超过 120x60x60 且不超过 31.5 公斤:14.99 欧元

代码已经给出,我必须更改一些部分,以便 returns 正确的运费。它甚至可以工作,但我的问题是最后一部分。

"• 120x60x60 及 31.5kg 以内的包裹:14.99 欧元"

我不知道该怎么做。我试过 "else {shipping costs = 00.00 } " 但这听起来很愚蠢。它有效,这不是问题,但我必须做对。现在 else 语句适用于 50 公斤,但它不应该。

我不确定,要做什么。有人可以帮我吗?

public class Calculator {

public double calcShippingCosts(Packet pack) {
    double shippingCosts;

    if ((pack.length <= 300) && (pack.width <= 300) && (pack.height <= 150) && (pack.weight <= 1000)) {

        shippingCosts = 3.89;

    } else if ((pack.length <= 600) && (pack.width <= 300) && (pack.height <= 150) && (pack.weight <= 2000)) {

        shippingCosts = 4.39;

    } else if ((pack.length <= 1200) && (pack.width <= 600) && (pack.height <= 600 ) && ((pack.length + (2 * pack.width) + (2 * pack.height)) <= 3000) && (pack.weight <= 5000)) {

        shippingCosts = 5.99;

    } else if ((pack.length <= 1200) && (pack.width <= 600) && (pack.height <= 600) && ((pack.length + (2 * pack.width) + (2 * pack.height)) <= 3000) && pack.weight >= 5000 && pack.weight <= 10000) {

        shippingCosts = 7.99;

    } else {

        shippingCosts = 14.99;
    }
    return shippingCosts;
}

}

顺便说一句。一位软件工程师告诉我在这里使用 Else If。首先只有 If

如果我做错了什么,我深表歉意。这是我第一次使用计算器。

删除当前的 else 并使用另一个 ELIF。

最后的else应该用于不正确的输入或"too big"