Skip to content

Instantly share code, notes, and snippets.

@unclebob
Created September 17, 2010 16:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save unclebob/584443 to your computer and use it in GitHub Desktop.
Save unclebob/584443 to your computer and use it in GitHub Desktop.
package payroll;
public class PayCalculator {
public static float calculate(double hours,
double rate,
boolean isHourlyWorker) {
if (hours < 0 || hours > 80) {
throw new RuntimeException("Hours out of range: " + hours);
}
float wages = 0;
if (hours > 40) {
float overTimeHours = hours - 40;
if (isHourlyWorker) {
wages += (overTimeHours * 1.5) * rate;
} else {
wages += overTimeHours * rate;
}
hours -= overTimeHours;
}
wages += hours * rate;
return wages;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment