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"
我正在尝试为我的作业问题找到解决方案。
任务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"