Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1 . develop an application that uses classes, objects, standard searching and sorting algorithms, arrays, array lists and performs data validation and error handling as

1. develop an application that uses classes, objects, standard searching and sorting algorithms, arrays, array lists and performs data validation and error handling as specied;
2. use an IDE (specically NetBeans);
3. code according to standard (and good) coding practice;
4. with Javadoc based comments before each method.
This item is designed to test your understanding of arrays/array Lists, sorting and searching, classes, objects, and methods
Program is in Jave/ NetBeans project and must use Java 17
Write a java program to help calculating and recording the wages of its n employees
Number of employees should be initialized by using a method that can find the highest digit in your student ID. Student id has only 10 characters
User should be able to give Employee name, worked hours skill level using keyboard inputs. Maximum employee count is equal to the maximum number in student id
Requires finding the highest digit in a student ID input from the keyboard.
EmployeeDataSystem class creates Menu class
EmployeeDataSystem class creates EmployeeData class
Menu class uses and displays all details of EmployeeData class
Main Class: EmployeeDataSystem
Sub class 1: Employee data
Sub class 2: Menu
Employee names should be as Strings
Hours should be in Int
Wages should be in double
In the employeeData class there are below methods
1. inputData()
2. sortByName()
3. sortByHours()
4. searchByName()
5. searchByHours()
6. statistics()
Also in the employeeData class there is EmployeeData constructor
In the Menu class thee are below methods
1. displayMenu()
Note: there are more methods in those classes
The program needs to show the functionalities such as displaying, sorting, and searching the stored data
The stored data must include employee name and the worked hours with corresponding wages.
The standard rates of wage depend on the skill levels, which are set as $50, $70 and $100 per hour for levels 1,2, and 3 respectively, while the employee will be paid at one and one-half times the usual rate for any hours over 40. The wage is simply computed by multiplying the number of worked hours with the hourly rate and you need to add the over-time pay if the employee works more than 40 hours.
Program requires validation for the input data employee name and worked hours in particular ways. A valid name is assumed only to contain English letters, a space between first name, [middle name (if any)] and surname, and the length of the valid name must not exceed 25 alphabetical letters.
Re-entering data is required, if a user enters an invalid employee name and/or if a use enters worked hours outside the above range.
Employees data such as employees names, worked hours, and the calculated wages (unsorted) are required to be stored in three arrays.
Use parallel arrays to store these data
Application should display and execute a menu with the following options. A switch statement must be used to execute the following menu options.
1. Input & validate data
2. Display
3. Sort by name
4. Sort by hours
5. Search by name
6. Search by hours
7. Statistics
8. Exit
Input & validate data
This option reads each employees name, skill level, and worked hours for N employees.
N needs to be set with a value from the method that takes a students ID as an input from the keyboard, and returns the highest digit in the ID.
The name and worked hours must be stored in two separate one-dimension arrays
If the input of worked hours exceeds the ranges defined in the previous page, then an appropriate message should be displayed, asking the user to re-enter a new value.
In addition, the input of employees name must be validated as required
Display
This option displays the employee names, worked hours and calculated wages that are stored in Arrays
Sort by name
When this option is selected, the names of employee are sorted in ascending order and this option also displays sorted names with their worked hours and wage data,
Should use selection sort.
A built-in sort should not be used.
Sort by hours
This option sorts the worked hours in ascending order. Displaying the corresponding changes of employee names and wages
Search by name
This option lets a user enters an employees case insensitive name (i.e., name is spelled regardless of the lower-case or upper-case letters).
After the user has entered a case insensitive name, this option displays the employees name, worked hours, and wage
If the entered name does not match any existing name, a warning message should be displayed.
Search by hours
If the user selects this option and enters a number representing worked hours, the running program will display the employee names and worked hours, where worked hours are less than the number.
Statistics
If the user selects this option, the program will display the employees with the lowest and the highest worked hours in addition to displaying the median work (note: if one of the options between 2 and 7 is selected without

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases DeMYSTiFieD

Authors: Andy Oppel

2nd Edition

0071747990, 978-0071747998

More Books

Students also viewed these Databases questions

Question

Describe Table Structures in RDMSs.

Answered: 1 week ago