Write a Java program that will calculate tax for the employees of a company called XYZ.

Submit your assignment








 


Write a Java program that will calculate tax for the employees of a company called XYZ. The main menu of the tax calculation program is as follows.

Welcome to Tax Management System of XYZ

Please select one of the following options:
1. Calculate tax
2. Search tax
3. Exit

When 1 is selected then the program will calculate the tax of an employee based on the annual income of the employee and tax rates on the income. The tax rates on the income is stored in a file called taxrates.txt. The program needs to read the taxrates.txt file and store the information in proper data structure. If the taxrates.txt file does not exist in the directory of the source code then the program should ask to provide the taxrates.txt file as an input. The format of the taxrates.txt file is as follows.

Taxable Income Tax on Income
0 – $18,200 0
$18,201 – $37,000 19c for each $1 over $18,200
$37,001 – $87,000 $3,572 plus 32.5c for each $1 over $37,000
$87,001 – $180,000 $19,822 plus 37c for each $1 over $87,000
$180,001 and over $54,232 plus 45c for each $1 over $180,000

The program will take user inputs on Employee ID (4-digit number) and the annual income of the employee (floating-point number with two decimal places). Based on the annual income of the employee the program will then calculate the tax (using the information in taxrates.txt file) of the employee. For example, if the annual income of an employee is $100000.00 then the tax of the employee=19822+(100000 – 87000)*0.37= 20303.00.

After calculating the tax of an employee the program will then write the Employee Id, taxable income and tax into a file called taxreport.txt. The format of the taxreport.txt file is as follows.

Employee ID Taxable Income Tax
1111 100000.00 20303.00
2222 90000.00 19933.00

Once the tax calculation is done for one employee then the program will ask if XZY wants to calculate the tax for another employee, if yes then the above process will continue again. The program will calculate the tax for as many employees as XYZ wants. However, if XZY does not want to calculate the tax for another employee then main menu will be displayed.

When 2 is selected then the program will search the tax for an employee using the employee id in the taxreport.txt file. However, if the taxreport.txt file does not exist in the directory of the source code then the program should ask to provide the taxreport.txt file as an input.

If the taxreport.txt file contains the multiple tax for the same employee then the program will get the latest tax amount of that employee. If the taxreport.txt file does not contain the employee id then the program should give an warning message that the taxreport.txt file does not contain the tax of that employee.

Once searching tax (based on employee id) is done for one employee then the program will ask if XZY wants to search tax for another employee, if yes then the above process will continue again. The program will search tax for as many employees as XYZ wants. However, if XZY does not want to search tax for another employee then main menu will be displayed.

When 3 is selected then the program will exit.
File read and write operations need to be done properly. You need to use proper data structure. Input validation also needs to be done.

Task 2: Display the records of clusters (35 marks)

A clustering technique called “Unique Neighborhood Set Parameter Independent Density-Based Clustering with Outlier Detection” (PIDC-O) is applied on a dataset having 450 records and two attributes (X, Y). The number of clusters produced by PIDC-O from the dataset is four namely Cluster1, Cluster2, Cluster3 and Cluster4. A text file (cluster.txt) that contains the clusters will be uploaded into the subject interact site soon. For better understanding, the structure of the text file is discussed using the table below.

X Y Cluster
2 4 Cluster1
6 8 Cluster2
7 8 CLuster2
3 4 Cluster1
2 5 CLuster1
3 5 Cluster1
7 9 Cluster2
2.5 4.5 Cluster1
6.5 8.5 Cluster2

The number of records in the above table is nine, the number of attributes is two (X,Y) and the number of clusters is two (Cluster1, Cluster2) whereas the cluster.txt in the subject interact site will have 450 records, two attributes (X,Y) and four clusters (Cluster1, Cluster2, Cluster3, Cluster4). The sample output on the above table is shown below. 

Write a Java Graphical User Interface (GUI) program that will read the cluster.txt file and will display the records of the clusters in cluster.txt file in GUI. The records in a particular will be displayed using a single color. Add legend for each cluster in the GUI, so that the clusters can be easily identified.

Task 3: Font Tester (35 marks)Write a GUI program that allows a user to test different fonts, font styles, and font sizes within a window. Provide 10 font names of your choice for the user to select within a combo box. Also provide an option for the user to select one of the following font sizes via selection from a combo box: 8, 12, 16, 24, 30, 36, 42, 48. 56. In addition, provide options to display the text as bold and/or italic using check boxes. If no check boxes are selected, the text should be displayed in regular font. The text for display/testing should be “Programming is fun” and is required to update dynamically whenever the font name, font size or font style changes. Layout your components as per the image below.

Acknowledgment
Task 3 is based on Exercise 16.14 in the textbook.

Note: For further clarification and concerns about the assignment, students are recommended to contact with the subject coordinator.

Rationale

back to top

This assessment task will assess the following learning outcome/s:

  • be able to create, manage and manipulate objects via the Java Collections Framework.
  • be able to design and construct Java Graphical User Interfaces (GUI) that interact with problem domain objects.

Marking criteria and standards

back to top

Marking Criteria for Task 1

Items Full Marks Pass(PS) Credit(CR) Distinction(DI) High Distinction(HD)
Presentation 5 Very basic presentation (no screen shots are included) Report with few screen shots is submitted Report with enough screen shots is submitted Report with enough screen shots is submitted. The discussion on each screen shot is easy to read and understand.
File reading and writing 5 Only a small number of errors in File read and write operations. File read and write operations work File read and write operations work for as many employees as XZY wants File read and write operations work for as many employee as XZY wants.

Exceptions related to files are handled properly

Tax calculation 10 Small errors in tax calculation Tax calculation works.

Shows main menu properly

Tax calculation works for as many employees as XZY wants Tax calculation works for as many employees as XZY wants

Input validation is done properly

The source code contains only necessary statements.

Searching 10 Small errors in searching Search operation works.

Shows main menu properly

Search operation works for as many employees as XZY wants Search operation works for as many employees as XZY wants

Input validation is done properly

The source code contains only necessary statements.

Marking Criteria for Task 2 and Task 3

Items Full Marks Pass(PS) Credit(CR) Distinction(DI) High Distinction(HD)
Presentation 5 Very basic presentation (no screen shots are included) Report with few screen shots is submitted Report with enough screen shots is submitted Report with enough screen shots is submitted. The discussion on each screen shot is easy to read and understand.
Elements of the GUI 15 Program is not running but the source code indicates the correctness Program is running but not showing the GUI properly Program is running but not showing all the required components of the GUI properly Program is running and showing all the required components of the GUI properly
Functionality 15 Program is not running but the source code indicates the correctness Program is running but not working properly Program is running properly but cannot handle unexpected inputs/events Program is running properly and not crashing because of unexpected inputs/events

Presentation

back to top

Following items are to be submitted in the Turnitin (For each task):

  • Report: The report (in .doc or .pdf format) should explain how to run your program and any settings needed to run your program. Enough number of screenshots should be shown in the document. In case if the assignment marker fails to run your program, because of any inconvenience, these screenshots would show how the program worked on your machine/environment.
  • Source code and other files: All source codes, exe file and other relevant files must have to be zipped in a folder such that unzipping would keep the file/folder structure unaffected.

Click here to order this assignment @Essaywriting.us.No Plagiarism.Written from scratch by professional writers.

Leave a Reply

Your email address will not be published. Required fields are marked *