SENG1110 Object Oriented Programming Assignment

Assignment Help Programming Languages
Reference no: EM133130127

SENG1110 Object Oriented Programming - The University of Newcastle

Income Tax and Investment Calculator

The objective of this assignment is the implementation of an object-oriented program using Java to 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). The assignment 2 will be an extension of this assignment.

Befofe you start
Carefully read the specification below. Make sure you have all the information necessary to start writing the program. If you are uncertain of something, do not make assumptions. Post your questions to the discussion board forum named "assignment 1" and check it regularly.

Try to start the assignment as soon as possible. There is a document "HelpToStartAssign1" and some Java files on Blackboard, which you can use as a starting point.

Problem specification
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 2021 and 30 June 2022. Note that the first table is for Australian residents and the next one is for non residents.
Tax rates 2010-11 - residents

Residents are also required to pay 2% of Medicare levy if your taxable income is greater than $29,032, which is calculated at 2% 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
• 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),
• 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)
• Residence - if the user is a resident or not. The program is then expected to display:
• the net salary of this particular individual per year and per week.
• The correct amount of tax the individual should pay per year and per week (as defined by the Tax rates above).
• If the individual pays the Medicare Levy and if so, how much per year.
The second task of the program is to calculate/display a possible investment. First, the program should ask
• the amount of money that the user 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 the user is earning each week is sufficient to cover the 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 weekly expenses, the program should ask if the user would like to invest some money. If yes, the program should ask
- Investment value - the amount of money that the user 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)
- Interest rate - the interest rate of the investment account per annum (the interest rate needs to be between 1% and 20%; otherwise the program will show an error message and ask the user for the interest rate again)
- 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.

Program Requirements

There must be three classes: Client, Account, CalculatorInterface.
• The Account Class (the file needs to be Account.java) The instance variables will be (at least):
• rate - double
• numberOfWeeks - int
• amount - double
The class needs to have methods to change and access all instance variables and also the method (at least) calcInvestment(), which will calculate the investment and will return a String, which will have the amount in the investment account in the end of each month. The instance variables will be private.
• The Client Class (the file needs to be Client.java) The instance variables will be (at least):
• name - a String
• savingAccount - Account
• grossSalary - double
• netSalary - double
• resident - boolean
• tax - double
• medicare - double
• weeklyExpenses - double
The class needs to have methods to change and access all instance variables. It also will have (at least) the methods calcTax(), which will calculate the tax and calcMedicare(), which will calculate the medicare. The instance variables will be private.
• The CalculatorInterface Class (the file needs to be CalculatorInterface.java) Creates the interface (TerminalIO or GUI, you choose).
The instance variables will be (at least):

• client - Client
This class will receive the inputs from user, show the outputs, will check for wrong inputs and show error messages.
Notice that only this class will receive inputs and show outputs.
This class is the only class that will have a main method, which should create an instance of the class CalculatorInterface, and call a method run(), which will display the menu to the user. A template is shown below.
public class CalculatorInterface { private void run(){
//...
}
public static void main(String[] args){
CalculatorInterface c = new CalculatorInterface (); c.run();
}
}
You must not use any form of arrays in this assignment.
Marks will be awarded for layout (including visual aspects (variable names, indentation) and structural aspects (variable scope, method usage)), documentation (comments), and the submission's ability to perform as specified. A more detailed marking schema is available on Canvas.

Attachment:- Investment Calculator.rar

Reference no: EM133130127

Questions Cloud

Calculate james self-employment tax : His Schedule C net income is $136,800 for year. He also has part-time job and earns $20,900 in wages subject to FICA taxes. Calculate James self-employment tax
Prepare the journal entries necessary : On 1 July 2018. Coastalwatch Limited issued 5 000 000 shares at $5.00 each. Prepare the journal entries necessary
Economic crisis in the united states : Go to the internet and find a news article(s) published within the last month that discusses the following questions:
Components of a quantitative research : Select a journal article published within the last five years that illustrates a quantitative research study. (Tip: Aligning this article with your PICOT questi
SENG1110 Object Oriented Programming Assignment : SENG1110 Object Oriented Programming Assignment Help and Solution, The University of Newcastle - Assessment Writing Service
Process used to separate the change in gdp : 1. What is the process used to separate the change in GDP due to an increased output of goods and services, from a change due to increased prices?
What should company x value the inventory at on its books : On January 1, 2016, Company X acquires inventory for $200. What should Company X value the inventory at on its books
Present trend of low prices of copra : Rowena (aged 34) and her husband Emmanuel Arcamo (aged 35) are farmers. They own two hectares of land planted to coconut and maize located 8 kilometres from the
Estimate the direct labour efficiency variance : The following data is related to the bicycle manufacturing company: Standard labour hour per bike = 4 hrs. Estimate the direct labour efficiency variance

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd