--%>

Income Tax and Investment Calculator


Introduction

Your task is to produce a Java program, which can calculate income tax and investment growth based on the yearly income/salary of an individual. Below the details are described (The rules in this assignment are different from Australia Taxation Office).

Problem description

In Australia, a taxpayer's income is taxed progressively. Progressive taxation means that higher income earners pay more tax than lower income earners. The following tables detail the tax brackets of our progressive tax system for the financial years ending 30 June 2010 and 30 June 2011. Note that the first table is for Australian residents and the next one is for non residents.

Tax rates 2010-11 - residents

Taxable income

Tax on this income

$0 - $6,000

Nil

$6,001 - $37,000

15c for each $1 over $6,000

$37,001 - $80,000

$4,650 plus 30c for each $1 over $37,000

$80,001 - $180,000

$17,550 plus 37c for each $1 over $80,000

Over $180,001

$54,550 plus 45c for each $1 over $180,000

 Tax rates 2010-11 - non residents

Taxable income

Tax on this income

$0 - $37,000

29c for each $1

$37,001 - $80,000

$10,730 plus 30c for each $1 over $37,000

$80,001 - $180,000

$23,630 plus 37c for each $1 over $80,000

Over $180,001

$60,630 plus 45c for each $1 over $180,000

Residents are also required to pay 1.5% of Medicare levy if your taxable income is greater than $20,000, which is calculated at 1.5% of your taxable income. Non-residents are not required to pay the Medicare levy.

The first task of the program is to calculate the appropriate income tax for an individual based on a set of inputs by the user and the information provided in the Tax tables above. The user should provide the program with

1 Name (the name needs to have at least two names - first name and last name; if not, the program will show an error message and ask the user the name again),

2 Annual income/Salary (income) for an entire year (the salary needs to be a positive number and different from zero; if not, the program will show an error message and ask the salary again)

3 Residence - if the user is a resident or not.

The program is then expected to display:

1.    1 the net salary of this particular individual per year and per week, rounded to two decimal places (where appropriate).

2.    The correct amount of tax the individual should pay per year and per week (as defined by the Tax rates above), rounded to two decimal places (where appropriate).

3.    If the individual pays the Medicare Levy and if so, how much per year rounded to two decimal places (where appropriate).

The second task of the program is to calculate/display a possible investment. First, the program should ask

The amount of money that he/she requires (on an average) per week as living expenditure. You are to assume this expenditure value does not change for the individual over time. (the amount needs to be a positive number and different from zero; if not, the program will show an error message and ask the salary again)

On the basis of this information the program should advise the user whether or not the amount he/she is earning each week is sufficient to cover his/her weekly expenses. If the user earns less than the amount that is required to live, you should show a warning message and ask if the user would like to enter a new amount or terminate the program.

If an amount is sufficient to cover his/her weekly expenses, the program should ask if the user would like to invest some money. If yes, the program should ask

1.    Investment value - the amount of money that he/she would like to invest per week (it is necessary to verify if this amount is feasible. If not, show an error message and ask again)

2.    Interest rate - the interest rate of the investment account per annum (the interest rate needs to be between 1% and 100%; otherwise the program will show an error message and ask the user for the interest rate again)

3.    Investment length - number of weeks that the user will invest the money (it needs to be a positive number and different from zero; otherwise the program will show an error message and ask the number of weeks again)

The program is then expected to display:

A table with details of the investment at four week intervals for the length of the investment. For the purposes of this assignment you will assume that interest is only applied at the end of a complete four week period, see the example below.

Suppose that the interest is applied in the end of each 4 weeks. See the example below.

Example

Suppose a resident with yearly income of $40,000.00. The Medicare Levy will be $600.00 and the taxes will be $5,550.00/year or $106.73/week. His/her net salary per year will be $33,850.00 or $650.96 per week. Suppose the user needs $628.71 per week as living expenditure. So it is possible to invest $22.25 per week. Suppose the interest is 13% per year (or 1% each 4 weeks, since we have 52 weeks per year) and the number of weeks the user will invest the money is 18. Assuming the user asks to invest $22.25 per week, then the investment account output will be:

Weeks

Money in the end of each 4 weeks

4

$89.89 = 22.25*4*1.01

8

$180.68 = (89.89+22.25*4)*1.01

12

$272.38 = (180.68+22.25*4)*1.01

16

$364.99 = (272.38+22.25*4)*1.01

18

$409.49 = (364.99 + 22.25*2) (note that is less than 4 weeks, so the interest is not applied

 

Example Output (simplified)

Name: John Smith

Net Salary

Per Week: $650.96

Per Year: $33850.00

Tax Paid

Per Week: $106.73

Per Year: $5550.00

Medicare Levy Per Year: $600.00

 

Would you like to invest? Yes

The amount per week: 22.25

Interest rate (between 1-100): 13

Investment length (# of weeks): 18

Investment

Weeks        Balance --------------------

 4             $89.89

 8             $180.68

 12            $272.38

 16            $364.99

 18            $409.49

Program Requirements

Your program should consist of only one class (Invest.java) and only one method (the main method). You will use a Terminal I/O interface and your program needs to display all information such that it is easy to read. You cannot use arrays. Your code also must be very well commented and have a heading as:

/*Author: your name

*Student No: 3XXXXXX

*Date: 02-03-2011

*Description:

*/

What to submit.

You should submit the Java program (Invest.java) and the assignment cover sheet electronically under Assignment 1 link in Blackboard. Note: although you can save multiple versions of your program, you can only 'submit' your assignment once. The lab demonstrators will show you how to do this.

VERY IMPORTANT TO DO THIS

You need to provide the pseudocode of the program. The pseudocode can not have any element of your interface implementation. You should specify the input and output in your pseudocode.

 

   Related Questions in Financial Accounting

  • Q : What bid price per widget should you

    You are required to submit a bid to supply 200,000,000 widgets per year to the State of Illinois for the next five years. Your company has an idle tract of real estate that cost $1,500,000 ten years ago; if your company sold the land

  • Q : Forecast future and forward exchange

    It is extremely difficult in order to forecast future exchange rates more precisely as compared to forward exchange rate or to the current spot exchange rate, as per the researchers. How these findings can be interpreted?

  • Q : Accountant & Financial In Business

    Questions 1. Identify the services or programs to be included in the cost and profitability analysis. 2. Examine the costs listed in Table 2. a. Identify the direct costs associated with each service or program. b. Which costs would be organization

  • Q : Architectural Symbolism-house-style

    Wriet a report on the term Architectural Symbolism:a study of house-style meanings ?

  • Q : Accountancy Accountancy is the process

    Accountancy is the process of communicating financial information about a business entity to users such as shareholder and manager. The communication is generally in the form of financial statements that show in money terms the economic resources under the control of management; the art lies in s

  • Q : Define the term Accounts Payable

    Accounts Payable: It is an accounting entry which symbolizes an entity's obligation to pay off a short-term debt to its creditors. Accounts payable entry is found on balance sheet beneath the heading current liabilities. Accounts payable are frequentl

  • Q : Working capital what are the

    what are the disadvantages of having adequate working capital?

  • Q : Contingent exposure and its benefits

    Describe the contingent exposure and also discuss some of the benefits of using currency options in order to maintain this type of currency exposure.

  • Q : What are Personal accounts What are

    What are Personal accounts. Describe their types?

  • Q : Equilibrium of balance of payments

    State mechanism that restores equilibrium of balance of payments in case it gets disturbed below the gold standard.