# Hours Worked Problem using Java Homework Solution

June 22, 2024
Dr. Ophelia
🇺🇸 United States
Java
Dr. Ophelia Whitethorn is a distinguished alumna of the University of York, where she earned her PhD in Computer Science with a focus on cybersecurity and network protocols. With six years of experience in the field, Ophelia has successfully completed over 600 Java Homework assignments.
Key Topics
• Employee Working Hour Calculator
• Solution
Tip of the day
News

## Employee Working Hour Calculator

Following are two arrays, time_started, time_ended, of an employee’s working hours over ten business days (Monday to Friday and the following Monday to Friday). Times are based on a 24-hour clock (between 0 and 24).

double []time_started = {2, 4, 5, 7, 8, 8, 10, 11, 19, 22};

double []time_ended = {8, 9, 22, 18, 20, 23, 22, 20, 23, 24};

The hourly pay of the employee is \$25, for hours worked between 9 am and 6 pm. Use the pay multiplier in the table shown below to calculate the hourly pay for hours worked throughout the day.

Times based on a 24 clock Pay Multiplier

12 am to 6 am (0 to 6) 20%

6 am to 9 am (6 to 9) 10%

9 am to 6 pm (9 to 18) 0%

6 pm to 9 pm (18 to 21) 10%

9 pm to 12 pm (21 to 24) 20%

Sample of Expected output:

Time work started = 4

Time work ended = 16

Daily pay = (6 – 4) 25 (1 + 20/100) + (9 – 6) 25 (1 + 10/100) + (16 – 9) 25 = \$317.50

Write a class file called lastname_empData. Write a constructor to initialize the two arrays.

Also, write a method called getDailyPay to compute and return each of the ten daily pay of the employee and a method called getTotalPay to compute and return the sum of the daily pays.

Write a lastname_demo file. Pass the two arrays into lastname_empData class and print each of the daily pays and the total pay of the employee after 10 days.

It is also acceptable to write the entire code in a single file but both methods, getDailyPay, and getTotalPay must be included.

Note: lastname is your lastname. Last name = Dominguez

Hint: your constructor should like follows:public lastname_empData (etcetc){

}

and not like this: public emp data (etcetc){

}

## Solution

Lastname_empData

public class lastname_empData { private int[] time_started; private int[] time_ended; private int[][] pay_multipliers; private double hourly_pay; public lastname_empData(int[] t_started, int[] t_ended, int[][] pay_mult, double rate) { time_started = t_started; time_ended = t_ended; pay_multipliers = pay_mult; hourly_pay = rate; } public double getDailyPay(int startTime, int endTime) { double pay = 0.0; // get number of days worked int hours = (startTime - endTime); double start = startTime; for(int i = 0; i < pay_multipliers.length; i++) { double from = pay_multipliers[i][0]; double to = pay_multipliers[i][1]; double multiplier = pay_multipliers[i][2]; if(to > endTime) to = endTime; if(start >= from && start<= to) { pay += (to - start)*hourly_pay*(1.0 + multiplier/100.0); start = to; } } return pay; } public double getTotalPay(int startTime, int endTime) { double total_pay = 0; for(int i = 0; i < time_started.length; i++) { total_pay += getDailyPay(time_started[i], time_ended[i]); } return total_pay; } }

App:

public class App { public static void main(String[] args) throws Exception { int[]time_ended = {8,9,22,18,20,23,22,20,23,24}; int[]time_started = {2, 4, 5, 7, 8, 8, 10, 11, 19, 22}; int[][]pay_multipliers = { {0, 6, 20}, {6, 9, 10}, {9, 18, 0}, {18, 21, 10}, {21, 24, 20} }; double rate = 25; lastname_empData payment = new lastname_empData(time_started, time_ended, pay_multipliers, rate); System.out.println(payment.getDailyPay(4, 16)); System.out.println(payment.getTotalPay(4, 16)); } }

## Similar Samples

Discover expertly crafted sample assignments at ProgrammingHomeworkHelp.com. Our comprehensive examples cover diverse programming topics, offering clear solutions and detailed explanations. Ideal for boosting your understanding and excelling in your coursework. Explore our samples and learn with confidence!