Question: FIX THIS JAVA CODE FROM ERRORS. SHOULD COMPILE THANKS import javax.swing.JOptionPane; public class Employee { private String name; private String id; private double hourlyPayRate; private

FIX THIS JAVA CODE FROM ERRORS. SHOULD COMPILE THANKS

import javax.swing.JOptionPane;

public class Employee {

private String name;

private String id;

private double hourlyPayRate;

private int weeklyHoursWorked;

public Employee(String name, String id, double hourlyPayRate, int weeklyHoursWorked) {

setName(name);

setId(id);

setHourlyPayRate(hourlyPayRate);

setWeeklyHoursWorked(weeklyHoursWorked);

}

public Employee(String name, String id) {

this(name, id, 0, 0);

}

public String getName() {

return name;

}

public void setName(String name) {

if (name.trim().isEmpty()) {

throw new IllegalArgumentException("Name cannot be empty");

}

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

if (id.trim().isEmpty()) {

throw new IllegalArgumentException("ID cannot be empty");

}

this.id = id;

}

public double getHourlyPayRate() {

return hourlyPayRate;

}

public void setHourlyPayRate(double hourlyPayRate) {

if (hourlyPayRate < 15) {

throw new IllegalArgumentException("Hourly pay rate must be greater than $15");

}

this.hourlyPayRate = hourlyPayRate;

}

public int getWeeklyHoursWorked() {

return weeklyHoursWorked;

}

public void setWeeklyHoursWorked(int weeklyHoursWorked) {

if (weeklyHoursWorked < 20) {

throw new IllegalArgumentException("Employee must work at least 20 hours per week");

}

this.weeklyHoursWorked = weeklyHoursWorked;

}

public double getGrossPay() {

return hourlyPayRate * weeklyHoursWorked;

}

public String toString() {

return String.format("%s | %s | $%.2f | %d | $%.2f", name, id, hourlyPayRate, weeklyHoursWorked, getGrossPay());

}

}

public class EmployeePayrollPortal {

public static void main(String[] args) {

int numEmployees = Integer.parseInt(JOptionPane.showInputDialog("Enter the number of employees:"));

Employee[] employees = new Employee[numEmployees];

for (int i = 0; i < numEmployees; i++) {

String name = JOptionPane.showInputDialog(String.format("Employee #%d Enter employee name:", i + 1));

String id = JOptionPane.showInputDialog(String.format("Employee #%d Enter employee id:", i + 1));

double hourlyPayRate = Double.parseDouble(JOptionPane.showInputDialog(String.format("Employee #%d Enter hourly pay rate ($):", i + 1)));

int weeklyHoursWorked = Integer.parseInt(JOptionPane.showInputDialog(String.format("Employee #%d Enter number of hours worked:", i + 1)));

Employee employee = new Employee(name, id, hourlyPayRate, weeklyHoursWorked);

employees[i] = employee;

}

StringBuilder report = new StringBuilder();

report.append("Employee Payroll Report ");

report.append("Total Employee: " + numEmployees + " ");

report.append("Employee Name | ID | Pay Rate | Hour Worked | Gross Pay ");

double totalGrossPay = 0;

for (Employee employee : employees) {

report.append(employee.toString() + " ");

totalGrossPay += employee.getGrossPay();

}

report.append("Total Gross Pay: $"

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!