JAVA PROGRAM Homework #1. Chapter 7. PC# 2. Payroll Class (page 488-489) Write a Payroll class that uses the following arrays as fields: * employeeId. An array of seven integers to hold employee identification numbers. The array should be initialized with the following numbers: 5658845 4520125 7895122 8777541 8451277 1302850 7580489 * hours. An array of seven integers to hold the number of hours worked by each employee * payRate. An array of seven doubles to hold each employee’s hourly pay rate * wages. An array of seven doubles to hold each employee’s gross wages The class should relate the data in each array through the subscripts. For example, the number in element 0 of the hours array should be the number of hours worked by the employee whose identification number is stored in element 0 of the employeeId array. That same employee’s pay rate should be stored in element 0 of the payRate array. The class should have a method that accepts an employee’s identification number as an argument and returns the gross pay for that employee. Demonstrate the class in a complete program that displays each employee number and asks the user to enter that employee’s hours and pay rate. It should then display each employee’s identification number and gross wages.Input Validation: Do not accept negative values for hours or numbers less than 6.00 for pay rate. PLEASE MODIFY THIS CODE, SO WHEN I UPLOAD IT TO HYPERGRADE IT PASSES ALL THE TEST CASES, BECAUSE WHEN I UPLOAD IT TO HYPERGRADE IT DOES NOT PASS THE TEST CASES. IT HAS TO PASS ALL THE TEST CASES. I PROVIDED THE CORRECT OUTPUT AS A SCREENSHOT AS A REFERRENCE. import java.util.Scanner; public class Payroll { private int[] employeeId; private double[] wages; public Payroll() { // Initialize the arrays with default values employeeId = new int[]{5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 7580489}; wages = new double[7]; } public void calculateGrossPay(int empId, int index, int hoursWorked, double hourlyPayRate) { wages[index] = hoursWorked * hourlyPayRate; } public void displayPayroll() { System.out.println("==============================\nEmployee ID\tGross Wages\n=============================="); for (int i = 0; i < employeeId.length; i++) { System.out.printf("%9d\t$%10.2f\n", employeeId[i], wages[i]); } } public static void main(String[] args) { Payroll payroll = new Payroll(); Scanner scanner = new Scanner(System.in); for (int i = 0; i < payroll.employeeId.length; i++) { int hoursWorked; double payRate; do { System.out.printf("Please enter hours for employee ID: %d\n", payroll.employeeId[i]); hoursWorked = scanner.nextInt(); if (hoursWorked < 0) { System.out.println("Hours cannot be negative."); } } while (hoursWorked < 0); do { System.out.printf("Please enter pay rate for employee ID: %d\n", payroll.employeeId[i]); payRate = scanner.nextDouble(); if (payRate < 6.0) { System.out.println("Employee pay rate cannot be less than $6.00/hour."); } } while (payRate < 6.0); payroll.calculateGrossPay(payroll.employeeId[i], i, hoursWorked, payRate); } payroll.displayPayroll(); } }
JAVA PROGRAM
import java.util.Scanner;
public class Payroll {
private int[] employeeId;
private double[] wages;
public Payroll() {
// Initialize the arrays with default values
employeeId = new int[]{5658845, 4520125, 7895122, 8777541, 8451277, 1302850, 7580489};
wages = new double[7];
}
public void calculateGrossPay(int empId, int index, int hoursWorked, double hourlyPayRate) {
wages[index] = hoursWorked * hourlyPayRate;
}
public void displayPayroll() {
System.out.println("==============================\nEmployee ID\tGross Wages\n==============================");
for (int i = 0; i < employeeId.length; i++) {
System.out.printf("%9d\t$%10.2f\n", employeeId[i], wages[i]);
}
}
public static void main(String[] args) {
Payroll payroll = new Payroll();
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < payroll.employeeId.length; i++) {
int hoursWorked;
double payRate;
do {
System.out.printf("Please enter hours for employee ID: %d\n", payroll.employeeId[i]);
hoursWorked = scanner.nextInt();
if (hoursWorked < 0) {
System.out.println("Hours cannot be negative.");
}
} while (hoursWorked < 0);
do {
System.out.printf("Please enter pay rate for employee ID: %d\n", payroll.employeeId[i]);
payRate = scanner.nextDouble();
if (payRate < 6.0) {
System.out.println("Employee pay rate cannot be less than $6.00/hour.");
}
} while (payRate < 6.0);
payroll.calculateGrossPay(payroll.employeeId[i], i, hoursWorked, payRate);
}
payroll.displayPayroll();
}
}
Trending now
This is a popular solution!
Step by step
Solved in 5 steps with 2 images