View the step-by-step solution to:

# 4. A group of AU friends decide to run the Banff, Alberta, Marathon. Their names, times (marathon completion time in minutes), and number of years...

This question was created from assignment_1.pdf https://www.coursehero.com/file/26364440/assignment-1pdf/

1.      Modify the following program to the specifications given below:

I.     Add a new status - SingleParent - where the tax is computed as a SINGLE but with a further reduction of \$5000 per child.

II.     Add a new tax condition - if the income is greater than \$249,999 for SINGLE, then add a tax of 25% on income amount above \$150,000; if the income is greater than \$349,999 for MARRIED, then add a tax of 35% on income amount above \$200,000.

III.     Unknown status - if the status doesn't belong to SINGLE or MARRIED or SINGLE_PARENT, then compute a 33% tax on the income.

import java.util.Scanner;

public class TaxReturn

/**

Constructs a TaxReturn object for a given income and

marital status, and computes the tax.

@param anIncome the taxpayer income

@param aStatus either SINGLE or MARRIED

*/

public TaxReturn(double anIncome, int aStatus)

{

income = anIncome;

status = aStatus;

}

public double getTax()

{

double tax = 0;

if (status == SINGLE)

{

if (income <= SINGLE_BRACKET1)

tax = RATE1 * income;

else if (income <= SINGLE_BRACKET2)

tax = RATE1 * SINGLE_BRACKET1

+ RATE2 * (income - SINGLE_BRACKET1);

else

tax = RATE1 * SINGLE_BRACKET1

+ RATE2 * (SINGLE_BRACKET2 - SINGLE_BRACKET1)

+ RATE3 * (income - SINGLE_BRACKET2);

}

else

{

if (income <= MARRIED_BRACKET1)

tax = RATE1 * income;

else if (income <= MARRIED_BRACKET2)

tax = RATE1 * MARRIED_BRACKET1

+ RATE2 * (income - MARRIED_BRACKET1);

else

tax = RATE1 * MARRIED_BRACKET1

+ RATE2 * (MARRIED_BRACKET2 - MARRIED_BRACKET1)

+ RATE3 * (income - MARRIED_BRACKET2);

}

return tax;

}

public static final int SINGLE = 1;

public static final int MARRIED = 2;

private static final double RATE1 = 0.15;

private static final double RATE2 = 0.28;

private static final double RATE3 = 0.31;

private static final double SINGLE_BRACKET1 = 21450;

private static final double SINGLE_BRACKET2 = 51900;

private static final double MARRIED_BRACKET1 = 35800;

private static final double MARRIED_BRACKET2 = 86500;

private double income;

private int status;

public static void main(String[] args)

{

Scanner in = new Scanner(System.in);

double income = in.nextDouble();

System.out.print("Enter S (single) or M (married): ");

String input = in.next();

int status = 0;

if (input.equalsIgnoreCase("S"))

status = TaxReturn.SINGLE;

else if (input.equalsIgnoreCase("M"))

status = TaxReturn.MARRIED;

else

{

return;

}

TaxReturn aTaxReturn = new TaxReturn(income, status);

System.out.println("The tax is " + aTaxReturn.getTax());

}

}

### Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

### -

Educational Resources
• ### -

Study Documents

Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

Browse Documents