diff options
| author | mokha <mokha@cisco.com> | 2019-05-05 17:58:12 -0600 |
|---|---|---|
| committer | mokha <mokha@cisco.com> | 2019-05-05 17:58:12 -0600 |
| commit | b1bb5110174be171454e24128f6e5fb64db52a4d (patch) | |
| tree | 0a91c46270e50cf55dcfab2637a27ddf80dbdff9 | |
| parent | b7e1f540507effc84a18fc18452fd3fcdb22e91b (diff) | |
add problem 10 code to modify
| -rw-r--r-- | assignments/assignment1/README.md | 14 | ||||
| -rw-r--r-- | assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java | 70 |
2 files changed, 84 insertions, 0 deletions
diff --git a/assignments/assignment1/README.md b/assignments/assignment1/README.md index 9c609f8..68a39f0 100644 --- a/assignments/assignment1/README.md +++ b/assignments/assignment1/README.md @@ -223,3 +223,17 @@ Google will consider a candidate with average marks of less than 85% only if the Google will only consider a candidate with poor communication ability if the candidate has a 'brilliant' innovation capability. Write a program that will help Google to programmatically determine eligibility of the fifteen candidates for these positions, and print the output on the console. + +9. Write a program that iterates through numbers from 0 to 113 using a loop. +Print the numbers, one number per line. +As you print each number, say x, also print the following when appropriate, separated by commas: + +If the number is odd, print “x is odd” +If the number is divisible by 5, print “hi five” +If the total of a number (x) and its subsequent number (x+1) is a value divisible by 7, print “wow” +If the number is prime, print “prime”. + +10. Modify the following program to the specifications given below: +Add a new status – SingleParent – where the tax is computed as a SINGLE but with a further reduction of $5000 per child. +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. +Unknown status – if the status doesn’t belong to SINGLE or MARRIED or SINGLE_PARENT, then compute a 33% tax on the income. diff --git a/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java b/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java new file mode 100644 index 0000000..18aa28e --- /dev/null +++ b/assignments/assignment1/src/main/java/ca/mokhan/assignment1/TaxReturn.java @@ -0,0 +1,70 @@ +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); + System.out.print("Please enter your income: "); + 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 { + System.out.println("Bad input."); + return; + } + TaxReturn aTaxReturn = new TaxReturn(income, status); + System.out.println("The tax is " + aTaxReturn.getTax()); + } +} |
