我在这做错了什么?如果陈述没有加起来

时间:2013-10-30 16:42:15

标签: java if-statement

在这种情况下,

total是500.试图制作一个计算器,但不是所有的东西都在加起来。它似乎跳过乘法,只显示总*数量。有什么我做错了吗?编辑:折扣:在示例中,。92。如果金额是1000,我会得到455000。

 if (wShipping==true){

  if (GroundShipping.isSelected()){
       if (amount<=99) {
          shipping=1.05;
          output.setText(output.getText() + amount + "\t" + total*1.05*amount*discount + "\n");
       }
       else{

     output.setText(output.getText() + amount + "\t" + total*amount*discount + "\n");
       }
  }
  if (AirShipping.isSelected()){
      shipping=1.1;
      output.setText(output.getText() + amount + "\t" + total*amount*1.1*discount + "\n");
  } 
  if (FedexShipping.isSelected()){
       shipping=1.25;
      output.setText(output.getText() + amount + "\t" + (total*amount*discount)*(1.25) + "\n");
  } 
}

2 个答案:

答案 0 :(得分:0)

您应该考虑以下事项 -

1)如果您直接使用set语句中的值

,为什么需要变量运输

2)使用else if语句,因为所有选项都是独占的

3)您可能想要检查变量的初始值和计算价格的公式。将初始值视为给定,最低价格为 -

Price = 1000*500*0.92 = 460000  (total x amount x discount)

因此,您的初始值必定存在问题

答案 1 :(得分:0)

也许,只是可能是货币计算的第一条规则:

why not use double or float to represent currency