Question: 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 hould be initialized by using a method that can find the highest digit in your student ID. Student id has only 10 characters
Requires finding the highest digit in a student ID input from the keyboard.
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 m

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!