クラス用の税計算機を作成していますが、個々のケースでコードを分離する方法がよくわかりません
println("Please enter your filing status: ");
println("Enter 0 for single filers,");
println(" 1 for married filing jointly,");
println(" 2 for married filing separately, or");
println(" 3 for head of household");
double tax = 0;
DecimalFormat df = new DecimalFormat("#.00");
int filingStatus = readInt("Status: ");
switch (filingStatus) {
case 0: double taxableIncomes = readDouble("Please enter your taxable income: ");
if (taxableIncomes <= 8925)
{
tax = (taxableIncomes * TEN);
println("You owe: $" + df.format(tax));
}
if (taxableIncomes > 8925 && taxableIncomes <= 36250)
{
tax = 892.5 + FIFTEEN * (taxableIncomes - 8925);
println("You owe: $" + df.format(tax));
}
if (taxableIncomes > 36250 && taxableIncomes <= 87850)
{
tax = 892.5 + 4098.75 + TWENTYFIVE * (taxableIncomes - 36250);
println("You owe: $" + df.format(tax));
}
if (taxableIncomes > 87850 && taxableIncomes <= 183250)
{
tax = 892.5 + 4098.75 + 12900 + TWENTYEIGHT * (taxableIncomes - 87850);
println("You owe: $" + df.format(tax));
}
if (taxableIncomes > 183250 && taxableIncomes <= 398350)
{
tax = 892.5 + 4098.75 + 12900 + 26712 + THIRTYTHREE * (taxableIncomes - 183250);
println("You owe: $" + df.format(tax));
}
if (taxableIncomes > 398350 && taxableIncomes <= 400000)
{
tax = 892.5 + 4098.75 + 12900 + 26712 + 70983 + THIRTYFIVE * (taxableIncomes - 183250);
println("You owe: $" + df.format(tax));
}
if (taxableIncomes > 400000)
{
tax = 892.5 + 4098.75 + 12900 + 26712 + 70983 + 577.5 + THIRTYNINE * (taxableIncomes - 183250);
println("You owe: $" + df.format(tax));
}
break;
個別のメソッドに分割してから、case:0 でメソッドを呼び出します。私の計算機では、4 つの個別のメソッドを使用することになっています。4 つの個別のケースがあるため、各ケースのコードを異なるメソッドに分類してから、ケースごとにそれらのメソッドを呼び出すのが簡単だと考えました。使おうとしたら
private double tax()
ケース 0 のすべてのコードをコピーして貼り付けます。クラス、インターフェイス、または列挙型が必要であることがわかります。