-3

我不确定如何使最终的“ else if ”语句正常工作。

有问题的代码目前已被散列并位于程序的最底部。阅读上面的其他“ else if ”语句可能会让您更好地了解我的思维过程。

,我不确定如何使最终的“ else if ”起作用,因为它没有定义的最大值。

    else if((gross_income >= 80001) && (gross_income <= 180000))
                {
                        gross_income = gross_income - 80000;
                        tax_payable = tax_payable + 17547;

                        for(i = 1; i <= gross_income; i++)
                        {
                                tax_payable = tax_payable + 0.37;
                        }

                        System.out.print("\n\n");
                        System.out.print("YOU MUST PAY $" + df.format(tax_payable) + " IN TAX!");
                        System.out.print("\n\n");
                }
//              else if(gross_income >= 180001)
//              {
//                      gross_income = gross_income - 180000;
//                      tax_payable = tax_payable + 54547;
//
//                      for(?????)
//                      {
//                              tax_payable = tax_payable + 0.45;
//                      }
//
//                      System.out.print("\n\n");
//                      System.out.print("YOU MUST PAY $" + df.format(tax_payable) + " IN TAX!");
//                      System.out.print("\n\n");
//              }
        }
}
4

1 回答 1

1

哦,亲爱的,因为我非常喜欢你的税收计算:

这样做 - 总是尽量防止重复代码(例如计算只完成一次,唯一改变的是税收百分比):

double perc = 0.0;

if( gross_income < 80001 ) 
{
    perc = 0.16; // dont know american tax limits, so lets pretend 0.16
}
else if( gross_income >= 80001 && gross_income < 180001 )
{
    perc = 0.37;
}
else
{
    perc = 0.45;
}
tax_payable = gross_income * perc;

System.out.print("\n\n");... and so on
于 2013-02-18T09:12:57.677 回答