Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Problem Description: The United States federal personal income tax is calculated

ID: 3587805 • Letter: P

Question

Problem Description:

The United States federal personal income tax is calculated based on filing status and taxable income. There are four filing statuses: single filers, married filing jointly, married filing separately, and head of household. The tax rates vary every year. Table 3.2 shows the rates for 2009. If you are, say, single with a taxable income of

$10,000, the first $8,350 is taxed at 10% and the other $1,650 is taxed

at 15%. So, your tax is $1,082.5.

Table 1

2009 U.S. Federal Personal Tax Rates

Marginal

Tax Rate                    Single

Married Filing Jointly or Qualified Widow(er)

Married Filing

Separately                  Head of Household

10%

$0 – $8,350

$0 – $16,700

$0 – $8,350

$0 – $11,950

15%

$8,351– $33,950

$16,701 – $67,900

$8,351 – $33,950

$11,951 – $45,500

25%

$33,951 – $82,250

$67,901 – $137,050

$33,951 – $68,525

$45,501 – $117,450

28%

$82,251 – $171,550

$137,051 – $208,850

$68,525 – $104,425

$117,451 – $190,200

33%

$171,551 – $372,950

$208,851 – $372,950

$104,426 – $186,475

$190,201 - $372,950

35%

$372,951+

$372,951+

$186,476+

$372,951+

You are to write a program to compute personal income tax. Your program should

prompt the user to enter the filing status and taxable income and compute the tax. Enter 0 for single filers, 1 for married filing jointly, 2 for married filing separately, and 3 for head of household.

Here are sample runs of the program:

Sample 1:

Enter the filing status: 0

Enter the taxable income: 100000

Tax is 21720.0

Sample 2:

Enter the filing status: 1

Enter the taxable income: 300339

Tax is 76932.87

Sample 3:

Enter the filing status: 2

Enter the taxable income: 123500

Tax is 29665.5

Sample 4:

Enter the filing status: 3

Enter the taxable income: 4545402

Tax is 1565250.7

Getting Started: This is the continuation of the example program on Page 91. Remember this source code is available to you in RESOURCES. Hint!!! DO NOT write all the code at once …also cut ..paste …and adjust code in each level…TEST each level BEFORE you move on.

Analysis:

(Describe the problem including input and output in your own words.)

Design:

(Describe the major steps for solving the problem.)

Testing: (Describe how you test this program, you should use your own input data to test)

Coding: Attach a printed copy of your program as last pages of this document.

Submit:

1.   This Word file fully completed.

2.   Error free Java source program

3.   Several runtimes at least one for each status

import java.util.Scanner;

public class ComputeTax {

public static void main(String[] args) {

    // Create a Scanner

    Scanner input = new Scanner(System.in);

    // Prompt the user to enter filing status

    System.out.print("(0-single filer, 1-married jointly or " +

      "qualifying widow(er), 2-married separately, 3-head of " +

      "household) Enter the filing status: ");

   

    int status = input.nextInt();

    // Prompt the user to enter taxable income

    System.out.print("Enter the taxable income: ");

    double income = input.nextDouble();

    // Compute tax

    double tax = 0;

    if (status == 0) { // Compute tax for single filers

      if (income <= 8350)

        tax = income * 0.10;

     else if (income <= 33950)

        tax = 8350 * 0.10 + (income - 8350) * 0.15;

      else if (income <= 82250)

        tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

          (income - 33950) * 0.25;

      else if (income <= 171550)

        tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

          (82250 - 33950) * 0.25 + (income - 82250) * 0.28;

      else if (income <= 372950)

        tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

          (82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 +

          (income - 171550) * 0.33;

      else

        tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

          (82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 +

          (372950 - 171550) * 0.33 + (income - 372950) * 0.35;

    }

    else if (status == 1) { // Compute tax for married file jointly

      // Left as exercise in Programming Exercise 3.13

    }

    else if (status == 2) { // Compute tax for married separately

      // Left as exercise in Programming Exercise 3.13

    }

    else if (status == 3) { // Compute tax for head of household

      // Left as exercise in Programming Exercise 3.13

    }

    else {

      System.out.println("Error: invalid status");

      System.exit(1);

    }

    // Display the result

    System.out.println("Tax is " + (int)(tax * 100) / 100.0);

}

}

10%

$0 – $8,350

$0 – $16,700

$0 – $8,350

$0 – $11,950

15%

$8,351– $33,950

$16,701 – $67,900

$8,351 – $33,950

$11,951 – $45,500

25%

$33,951 – $82,250

$67,901 – $137,050

$33,951 – $68,525

$45,501 – $117,450

28%

$82,251 – $171,550

$137,051 – $208,850

$68,525 – $104,425

$117,451 – $190,200

33%

$171,551 – $372,950

$208,851 – $372,950

$104,426 – $186,475

$190,201 - $372,950

35%

$372,951+

$372,951+

$186,476+

$372,951+

Explanation / Answer

ComputeTax.java

import java.util.Scanner;

public class ComputeTax {

public static void main(String[] args) {

// Create a Scanner

Scanner input = new Scanner(System.in);

// Prompt the user to enter filing status

System.out.print("(0-single filer, 1-married jointly or " +

"qualifying widow(er), 2-married separately, 3-head of " +

"household) Enter the filing status: ");

int status = input.nextInt();

// Prompt the user to enter taxable income

System.out.print("Enter the taxable income: ");

double income = input.nextDouble();

// Compute tax

double tax = 0;

if (status == 0) { // Compute tax for single filers

if (income>=0 && income <= 8350)

tax = income * 0.10;

else if (income <= 33950)

tax = 8350 * 0.10 + (income - 8350) * 0.15;

else if (income <= 82250)

tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

(income - 33950) * 0.25;

else if (income <= 171550)

tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

(82250 - 33950) * 0.25 + (income - 82250) * 0.28;

else if (income <= 372950)

tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

(82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 +

(income - 171550) * 0.33;

else

tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

(82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 +

(372950 - 171550) * 0.33 + (income - 372950) * 0.35;

}

else if (status == 1) {

if (income>=0 & income <= 16700)

tax = income * 0.10;

else if (income <= 67900)

tax = 16700 * 0.10 + (income - 16700) * 0.15;

else if (income <= 137050)

tax = 16700 * 0.10 + (67900 - 16700) * 0.15 +

(income - 67900) * 0.25;

else if (income <= 208850)

tax = 16700 * 0.10 + (67900 - 16700) * 0.15 +

(137050 - 67900) * 0.25 + (income - 137050) * 0.28;

else if (income <= 372950)

tax = 16700 * 0.10 + (67900 - 16700) * 0.15 +

(137050 - 67900) * 0.25 + (208850 - 137050) * 0.28 +

(income - 208850) * 0.33;

else

tax = 16700 * 0.10 + (67900 - 16700) * 0.15 +

(137050 - 67900) * 0.25 + (208850 - 137050) * 0.28 +

(372950 - 208850) * 0.33 + (income - 372950) * 0.35;

}

else if (status == 2) {

if (income>=0 & income <= 8350)

tax = income * 0.10;

else if (income <= 33950)

tax = 8350 * 0.10 + (income - 8350) * 0.15;

else if (income <= 68525)

tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

(income - 33950) * 0.25;

else if (income <= 104425)

tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

(68525 - 33950) * 0.25 + (income - 68525) * 0.28;

else if (income <= 186475)

tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

(68525 - 33950) * 0.25 + (104425 - 68525) * 0.28 +

(income - 104425) * 0.33;

else

tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +

(68525 - 33950) * 0.25 + (104425 - 68525) * 0.28 +

(186475 - 104425) * 0.33 + (income - 186475) * 0.35;

}

else if (status == 3) {

if (income>=0 & income <= 11950)

tax = income * 0.10;

else if (income <= 45500)

tax = 11950 * 0.10 + (income - 11950) * 0.15;

else if (income <= 117450)

tax = 11950 * 0.10 + (45500 - 11950) * 0.15 +

(income - 45500) * 0.25;

else if (income <= 190200)

tax = 11950 * 0.10 + (45500 - 11950) * 0.15 +

(117450 - 45500) * 0.25 + (income - 117450) * 0.28;

else if (income <= 372950)

tax = 11950 * 0.10 + (45500 - 11950) * 0.15 +

(117450 - 45500) * 0.25 + (190200 - 117450) * 0.28 +

(income - 190200) * 0.33;

else

tax = 11950 * 0.10 + (45500 - 11950) * 0.15 +

(117450 - 45500) * 0.25 + (190200 - 117450) * 0.28 +

(372950 - 190200) * 0.33 + (income - 372950) * 0.35;

}

else {

System.out.println("Error: invalid status");

System.exit(1);

}

// Display the result

System.out.println("Tax is " + (int)(tax * 100) / 100.0);

}

}

__________________

Output#1

(0-single filer, 1-married jointly or qualifying widow(er), 2-married separately, 3-head of household)

Enter the filing status: 0

Enter the taxable income: 100000

Tax is 21720.0

___________________

Output#2

(0-single filer, 1-married jointly or qualifying widow(er), 2-married separately, 3-head of household)

Enter the filing status: 1

Enter the taxable income: 300339

Tax is 76932.87

___________________

Output#3

(0-single filer, 1-married jointly or qualifying widow(er), 2-married separately, 3-head of household)

Enter the filing status: 2

Enter the taxable income: 123500

Tax is 29665.5

___________________

Output#4

(0-single filer, 1-married jointly or qualifying widow(er), 2-married separately, 3-head of household)

Enter the filing status: 3

Enter the taxable income: 4545402

Tax is 1565250.7

_____________Could you rate me well.Plz .Thank You

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote