在switch语句中增加Java中的变量?
我刚才问了一个关于在Java中增加变量的快速问题。我的问题是 我需要根据小时数变量超过其最大值的小时数,将每个包的费用变量增加一定量。我可以让它增加一个小时,但我似乎不知道如何让其他剩余的小时超过最大小时来计算公式。感谢您的帮助在switch语句中增加Java中的变量?,java,variables,switch-statement,increment,Java,Variables,Switch Statement,Increment,我刚才问了一个关于在Java中增加变量的快速问题。我的问题是 我需要根据小时数变量超过其最大值的小时数,将每个包的费用变量增加一定量。我可以让它增加一个小时,但我似乎不知道如何让其他剩余的小时超过最大小时来计算公式。感谢您的帮助 case switch (ispPackage) { case 'A': charges=9.95; if (hours>10) charges=charges+=2.00; br
case switch (ispPackage) {
case 'A':
charges=9.95;
if (hours>10)
charges=charges+=2.00;
break;
case 'B':
charges=13.95;
if(hours>20){
charges=charges+=1.00;}
//charges=13.95;
break;
case 'C':
charges=19.95;
break;
}
您误用了
+=
运算符
+=
运算符意味着将左侧变量的值设为当前值与右侧值之和
charge +=2.00;
相当于
charge = charge +2.00;
此外,根据OPs的意见,这可能是原始问题的解决方案:
charges=13.95;
if(hours>20){
charges+= (hours-20)*1.00;
}
这有什么用?如果
hours
大于20,则将超过20小时的小时数(hours-20
)乘以小时费用(1.00
)与费用的实际值相加,以启动开关
语句,不要使用案例开关
,只需切换
。您想做什么还不完全清楚。A、B和C三种情况是什么?额外费用究竟以何种方式取决于超过最大小时数的时间数?您是否试图每小时增加一个超过阈值的特定数字(2.00或1.50)?我将让其他人回答这个问题,但我怀疑解决方案将涉及。这与我第一次运行时得到的答案相同。它只是将费用增加1倍。我需要它为每个包的小时数变量超过其最大小时数的多少倍增加费用变量。i、 e如果包“a”超过其分配的10小时,则每超过10小时,包“a”将收取2美元的费用。包“a”的最大工作时间为10小时,每小时超过最大工作时间收取2美元,包“b”的最大工作时间为20小时,但超过最大工作时间收取1美元。c包不依赖工作时间,它是固定费率。希望能帮上忙,我想就是这样!非常感谢你。我为我评论中的混乱道歉。很难描述我的意思,但我非常感谢你的帮助。