Question: Write a demo program that demonstrate how each of these exception condition works. CODE SO FAR: File: Employee.java // Employee class implementation public class Employee


Write a demo program that demonstrate how each of these exception condition works.

CODE SO FAR:

File: Employee.java

// Employee class implementation public class Employee { // data fields private String employeeName; private String employeeNumber; private String hireDate; // default constructor implementation public Employee() { employeeName = \"no name yet\"; employeeNumber = \"no number yet\"; hireDate = \"no date yet\"; } // parameterized constructor implementation public Employee(String empName, String empNumber, String date) { setEmployeeName(empName); setEmployeeNumber(empNumber); setHireDate(date); }

// accessor methods // getEmployeeName method implementation public String getEmployeeName() { return employeeName; }

// getEmployeeNumber method implementation public String getEmployeeNumber() { return employeeNumber; } // getHireDate method implementation public String getHireDate() { return hireDate; } // mutator methods // setEmployeeName method implementation public void setEmployeeName(String empName) { employeeName = empName; }

// setEmployeeNumber method implementation public void setEmployeeNumber(String empNumber) { if(empNumber.length() == 5 && Character.isDigit(empNumber.charAt(0)) && Character.isDigit(empNumber.charAt(1)) && Character.isDigit(empNumber.charAt(2)) && empNumber.charAt(3) == '-' && (empNumber.charAt(4) = 'M')) { employeeNumber = empNumber; } else { employeeNumber = \"Invalid number\"; } }=>

// setHireDate method implementation public void setHireDate(String date) { hireDate = date; } // toString method implementation public String toString() { String result = \"\"; result = \"Employee name: \" + employeeName + \" \" + \"Employee number: \" + employeeNumber + \" \" + \"Employee hire date: \" + hireDate; return result; } } // end of Employee class

File: ProductionWorker.java

// ProductionWorker class implementation public class ProductionWorker extends Employee { // constants declarations public final int NO_SHIFT = 0; public final int DAY_SHIFT = 1; public final int NIGHT_SHIFT = 2; // data fields private int shift; private double hourlyPayRate; // default constructor implementation public ProductionWorker() { super(); shift = NO_SHIFT; hourlyPayRate = 0.0; } // parameterized constructor implementation public ProductionWorker(String empName, String empNumber, String date, int sh, double rate) { super(empName, empNumber, date); setShift(sh); setHourlyPayRate(rate); }

// accessor methods // getShift method implementation public int getShift() { return shift; } // getHourlyPayRate method implementation public double getHourlyPayRate() { return hourlyPayRate; }

// mutator methods // setShift method implementation public void setShift(int sh) { if(sh == DAY_SHIFT || sh == NIGHT_SHIFT) shift = sh; else shift = NO_SHIFT; }

// setHourlyPayRate method implementation public void setHourlyPayRate(double rate) { hourlyPayRate = rate; } // toString method implementation public String toString() { String result = \"\"; result = super.toString() + \" \"; if(shift == DAY_SHIFT) result += \"Shift: Day \"; else if(shift == NIGHT_SHIFT) result += \"Shift: Night \"; else result += \"Shift: Invalid \"; result += \"Hourly pay rate: \" + String.format(\"$%.2f\", hourlyPayRate); return result; } } // end of ProductionWorker class

File: ProductionWorkerDemo.java

// ProductionWorkerDemo class implementation import java.util.Scanner; public class ProductionWorkerDemo { // start main method public static void main(String[] args) { // create an object for Scanner class Scanner input = new Scanner(System.in); char choice; // repeat the loop until the user wants to exit do { // prompt the user to enter the employee name System.out.print(\"Enter the employee name: \"); String empName = input.nextLine(); // prompt the user to enter the employee number System.out.print(\"Enter the employee number in the format XXX-L (each X is a digit within the range 0-9 and the L is a letter within the range A-M): \"); String empNumber = input.nextLine(); // prompt the user to enter the employee hire date System.out.print(\"Enter the employee hire date: \"); String date = input.nextLine(); // prompt the user to enter the employee shift System.out.print(\"Enter the employee shift (1 for day shift and 2 for night shift): \"); int sh = Integer.parseInt(input.nextLine()); // prompt the user to enter the employee hourly pay rate System.out.print(\"Enter the hourly pay rate: $\"); double rate = Double.parseDouble(input.nextLine()); // create an object for ProductionWorker class ProductionWorker worker = new ProductionWorker(empName, empNumber, date, sh, rate); // display the details of the employee System.out.println(\" Details of the employee: \"); System.out.println(worker); // prompt the user to enter the repetition choice System.out.print(\" Do you want to demonstrate another ProductionWorker object? (Y/N): \"); choice = input.nextLine().charAt(0); System.out.println(); }while(choice == 'Y' || choice == 'y'); } // end of main method } // end of ProductionWorkerDemo class




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 Programming Questions!