我正在尝试为我的问题找到解决方案的解决方案。
任务9:计算包裹邮资:
Calculator.java
点击“计算”按钮,目前正在计算错误的邮资。找到有人点击按钮时调用的地方。更正计算,以便计算以下邮资:
•最高包装30x30x15
,最高1公斤:3,89欧元
•最高包装60x30x15
,最高2公斤:4,39欧元
•打包最多120x60x60
和最多皮带尺寸(= L + 2xB + 2xH)<= 300cm且最大5kg:5,99 EUR
•打包最多120x60x60
和最多皮带尺寸(= L + 2xB + 2xH)<= 300cm且最大10kg:7,99 EUR
•最高包装120x60x60
和最高31,5公斤:14,99欧元
已经给出的代码,我必须更改一些部分,以便它返回正确的运费。它甚至有效,但我的问题是最后一部分。
“•包装最高120x60x60,最高31.5kg:14,99欧元”
我不知道怎么做。我尝试了“其他{运费= 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的
如果我做错了什么,我道歉。这是我第一次使用stackoverflow。
答案 0 :(得分:0)
删除当前的else并使用另一个ELIF。
最后的其他内容应该用于错误输入或“太大”