Question: FIX THIS JAVA CODE ERROR AT THE END import javax.swing.JOptionPane; public class Employee { private String name; private String id; private double hourlyPayRate; private int
FIX THIS JAVA CODE ERROR AT THE END
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
Get step-by-step solutions from verified subject matter experts
