-3

'ステートメントが正しく機能する場合、最後の'elseif'ステートメントを作成する方法がわかりません。

問題のコードは現在ハッシュ化されており、プログラムの一番下にあります。上記の他の' elseif 'ステートメントを読むと、おそらく私の思考プロセスについてより良い洞察が得られます。

つまり、最大値が定義されていないため、最終的な' elseif 'が機能する方法がわかりません。

    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

ああ、私はあなたの税計算がとても好きだったので:

このようにしてください-常にダブルコードを防ぐようにしてください(たとえば、計算は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 に答える