The program below repeatedly asks the user to enter an


A program may execute the same computations repeatedly.

The program below repeatedly asks the user to enter an annual salary, stopping when the user enters 0 or less. For each annual salary, the program determines the tax rate and computes the tax to pay.

  1. Run the program below with annual salaries of 40000, 90000, and then 0.
  2. Modify the program to use a while loop inside the given while loop. The new inner loop should repeatedly ask the user to enter a salary deduction, stopping when the user enters a 0 or less. The deductions are summed and then subtracted from the annual income, giving an adjusted gross income. The tax rate is then calculated from the adjusted gross income.
  3. Run the program with the following input: 40000, 7000, 2000, 0, and 0. Note that the 7000 and 2000 are deductions

import java.util.Scanner;

public class IncomeTax {

  public static void main (String [] args) {

     Scanner scnr = new Scanner(System.in);

     final String SALARY_PROMPT = "nEnter annual salary (0 to exit): ";

     int   annualSalary   = 0;

     int   deduction      = 0;

     int   totalDeductions = 0;

     double taxRate        = 0.0;

     int   taxToPay       = 0;

     System.out.println(SALARY_PROMPT);

     annualSalary = scnr.nextInt();

     while (annualSalary > 0) {

        // FIXME: Add a while loop to gather deductions. Use the variables

        // deduction and totalDeduction for deduction handling.

        // End the inner while loop when a deduction <= 0 is entered.

        // Determine the tax rate from the annual salary

        if (annualSalary <= 20000) {

           taxRate = 0.10;       // 0.10 is 10% written as a decimal

        }

        else if (annualSalary <= 50000) {

           taxRate = 0.20;

        }

        else if (annualSalary <= 100000) {

           taxRate = 0.30;

        }

        else {

           taxRate = 0.40;

        }

        taxToPay = (int)(annualSalary * taxRate);  // Truncate tax to an integer amount

        System.out.println("Annual salary: " + annualSalary);

        System.out.println("Tax rate: " + taxRate);

        System.out.println("Tax to pay: " + taxToPay);

        // Get the next annual salary

        System.out.println(SALARY_PROMPT);

        annualSalary = scnr.nextInt();

     }

     return;

  }

Solution Preview :

Prepared by a verified Expert
Basic Computer Science: The program below repeatedly asks the user to enter an
Reference No:- TGS02537219

Now Priced at $20 (50% Discount)

Recommended (97%)

Rated (4.9/5)