Write a java console application that allows the user to read, validate, store, display, sort and search data (name, age, taxable income, tax, tax group) for N taxpayers. N should be declared as a constant and it should be equal to the largest digit of your student id number (e.g. if your ID number is S1267222 then N should be equal to 7 and you can declare it as final int N=7;). The name, age and taxable income must be read from the keyboard and tax and tax group must be calculated using Table 1.
The name, age, taxable income, tax and tax group must be stored in an Array or ArrayList (index 0 for taxpayer 1 and index N-1 for taxpayer N). The minimum and maximum ages which can be stored are 18 and 64. The minimum and maximum taxable incomes which can be stored are $1 and $999000. A validation for minimum and maximum values must be done during the reading of age and taxable income.
Your application should display and execute a menu with the following options. A switch statement must be used to execute the following menu options.
1. Read, validate and store data for N taxpayers
2. Calculate and store tax and tax group for all taxpayers
3. Display all taxpayers
4. Display the name and age of all taxpayers from tax group 1
5. Search a taxpayer by age
6. Sort and display taxpayers
7. Exit from the application
1. Read, validate and store data for N taxpayers This option reads name, age and taxable income for N taxpayers from the keyboard and stores them in an Array or ArrayList. If the age is less than 18 and greater than 64 then an appropriate message should be displayed and the user should be asked to enter the age again. Similarly if the taxable income is less than $1 and greater than $999000 then an appropriate message should be displayed and the user should be asked to enter the taxable income again.
2. Calculate and store tax and group number for all taxpayers This option calculates the tax and group number based on Table 1 for each taxpayer and then stores tax and group number in Array or ArrayList.
3. Display all taxpayers This option displays the data (name, age, taxable income, tax, group number) for all taxpayers.
4. Display the name and age of all taxpayers from tax group 1 This option displays the name and age of all taxpayers from tax group 1. If there is no taxpayer in group 1 then it displays an appropriate message.
5. Search a taxpayer by age This option asks user to enter the taxpayer’s age and searches for it. If the age is found then it displays an appropriate message with taxpayer details (name, age, taxable income, tax, group number). If age is not found then it displays an appropriate message “taxpayer with given age is not found”. If there is more than one taxpayer with the given age then it displays all of them. A built-in search algorithm is not allowed in this assignment.
6. Sort and display taxpayers This option sorts (by name) all taxpayers stored in Array or ArrayList in descending order and displays all sorted taxpayers (name, age, taxable income, tax, group number). You can use any sorting algorithm. A built-in sort algorithm for sorting is not allowed in this assignment.
7. Exit from the application The application should display an appropriate message with student name and then exit from the application.
The application should work in a loop to enable the user to read, validate and store data for all taxpayers, calculate and store tax and tax group for all taxpayers, display all taxpayers, display the name and age of all taxpayers from tax group 1, search a taxpayer by age, sort and display taxpayers and exit from the application
You may use any design that meets the specification. However, a good design will adhere to the following guidelines:
be logically correct
be easy to read and maintain
use a UML activity diagram
use appropriate classes, methods and fields
Your design MUST use the classes as listed below.
public class Taxpayer
//fields to store name, age, taxable income, tax, group number
//relevant methods including set and get methods
public class TaxpayerTest
public static void main(String args)
//menu options using switch statement
//data reading, Taxpayer object creation, data storing in array/arrayList, etc.
//other static methods
You may add/use methods, parameters, fields/variables, constants, etc. which you need to complete the application.
Testing is important. You should test your application using many different types of test cases before you submit it for marking.
. Taxpayer.java (this file contains java code for class Taxpayer)
TaxpayerTest.java (this file contains java code for class TaxpayerTest).
Report.docx (this file contains a brief report that includes student name, student ID, unit name, unit code, UML activity diagram for menu option 2 (calculate and store tax and group number for all taxpayers) and test results (screenshots for different test cases with results to show that your application is correctly working)).
Java Assignment Help, Programming Assignment Help, Operating Systems Assignment Help, Python Assignment Help, Database Assignment Help, Computer Networks Assignment Help ,Data Analytics Assignment Help
Holding a PhD degree in Finance, Dr. John Adams is experienced in assisting students who are in dire need...
55 - Completed Orders
Canada, Toronto I have acquired my degree from Campion College at the University of Regina Occuption/Desi...
52 - Completed Orders
Even since I was a student in Italy I had a passion for languages, in fact I love teaching Italian, and I...
102 - Completed Orders
To work with an organization where I can optimally utilize my knowledge and skills for meeting challenges...
109 - Completed Orders
JOB OBJECTIVE Seeking entry level assignments in Marketing & Business Development with an organization...
202 - Completed Orders
Current work profile Project manager- The Researchers Hub (2nd Jan 2016 to presently working) Researc...
20 - Completed Orders
Sales Assistant, Mito Marina Assigned to the Stationery dept – assisted in merchandising, stock taking...
100 - Completed Orders
Personal Profile Dedicated and highly experienced private chauffeur. High energy, hardworking, punctua...
200 - Completed Orders
I'm Lizzy, full time education specialist in English, Essay Writing, Economics and Maths. Having Assi...
109 - Completed Orders