// Name : ياره احمد محمود
// ID :202200588
import java.text.DecimalFormat;
import java.util.*;
import java.lang.*;
import java.io.*;
public class Main {
private String[] employeeNames
; private double[] hoursWorked;
private double[] hourlyWages;
public Main
(String[] employeeNames,
double[] hoursWorked,
double[] hourlyWages
) {
this.employeeNames = employeeNames;
this.hoursWorked = hoursWorked;
this.hourlyWages = hourlyWages;
}
public double calculateGrossPay(int employeeIndex)
{
double hours = hoursWorked[employeeIndex];
double wage = hourlyWages[employeeIndex];
return hours * wage;
}
public double calculateTax(double grossPay, double taxRate)
{
return grossPay * taxRate;
}
public double calculateNetPay(double grossPay, double deductions)
{
return grossPay - deductions;
}
public void generatePayStub(int employeeIndex)
{
String name
= employeeNames
[employeeIndex
]; double hours = hoursWorked[employeeIndex];
double wage = hourlyWages[employeeIndex];
double grossPay = calculateGrossPay(employeeIndex);
double tax = calculateTax(grossPay, 0.2);
double netPay = calculateNetPay(grossPay, tax);
System.
out.
println("Pay Stub for Employee: " + name
); System.
out.
println("Hours Worked: " + hours
); System.
out.
println("Hourly Wage: $" + decimalFormat.
format(wage
)); System.
out.
println("Gross Pay: $" + decimalFormat.
format(grossPay
)); System.
out.
println("Tax: $" + decimalFormat.
format(tax
)); System.
out.
println("Net Pay: $" + decimalFormat.
format(netPay
)); }
public static void main
(String[] args
) {
{
"John","Jane"
};
double[] hoursWorked =
{
40.0, 35.5
};
double[] hourlyWages =
{
15.0, 20.0
};
Main payrollSystem = new Main(employeeNames, hoursWorked, hourlyWages);
payrollSystem.generatePayStub(0);
payrollSystem.generatePayStub(1);
}
}
Ly8gTmFtZSA6INmK2KfYsdmHINin2K3ZhdivINmF2K3ZhdmI2K8KLy8gSUQgICA6MjAyMjAwNTg4CmltcG9ydCBqYXZhLnRleHQuRGVjaW1hbEZvcm1hdDsKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHByaXZhdGUgU3RyaW5nW10gZW1wbG95ZWVOYW1lczsKICAgIHByaXZhdGUgZG91YmxlW10gaG91cnNXb3JrZWQ7CiAgICBwcml2YXRlIGRvdWJsZVtdIGhvdXJseVdhZ2VzOwoKICAgIHB1YmxpYyBNYWluKFN0cmluZ1tdIGVtcGxveWVlTmFtZXMsIGRvdWJsZVtdIGhvdXJzV29ya2VkLCBkb3VibGVbXSBob3VybHlXYWdlcykKICAgIHsKICAgICAgICB0aGlzLmVtcGxveWVlTmFtZXMgPSBlbXBsb3llZU5hbWVzOwogICAgICAgIHRoaXMuaG91cnNXb3JrZWQgPSBob3Vyc1dvcmtlZDsKICAgICAgICB0aGlzLmhvdXJseVdhZ2VzID0gaG91cmx5V2FnZXM7CiAgICB9CgogICAgcHVibGljIGRvdWJsZSBjYWxjdWxhdGVHcm9zc1BheShpbnQgZW1wbG95ZWVJbmRleCkgCiAgICB7CiAgICAgICAgZG91YmxlIGhvdXJzID0gaG91cnNXb3JrZWRbZW1wbG95ZWVJbmRleF07CiAgICAgICAgZG91YmxlIHdhZ2UgPSBob3VybHlXYWdlc1tlbXBsb3llZUluZGV4XTsKICAgICAgICByZXR1cm4gaG91cnMgKiB3YWdlOwogICAgfQoKICAgIHB1YmxpYyBkb3VibGUgY2FsY3VsYXRlVGF4KGRvdWJsZSBncm9zc1BheSwgZG91YmxlIHRheFJhdGUpIAogICAgewogICAgICAgIHJldHVybiBncm9zc1BheSAqIHRheFJhdGU7CiAgICB9CgogICAgcHVibGljIGRvdWJsZSBjYWxjdWxhdGVOZXRQYXkoZG91YmxlIGdyb3NzUGF5LCBkb3VibGUgZGVkdWN0aW9ucykKICAgIHsKICAgICAgICByZXR1cm4gZ3Jvc3NQYXkgLSBkZWR1Y3Rpb25zOwogICAgfQoKICAgIHB1YmxpYyB2b2lkIGdlbmVyYXRlUGF5U3R1YihpbnQgZW1wbG95ZWVJbmRleCkKICAgIHsKICAgICAgICBTdHJpbmcgbmFtZSA9IGVtcGxveWVlTmFtZXNbZW1wbG95ZWVJbmRleF07CiAgICAgICAgZG91YmxlIGhvdXJzID0gaG91cnNXb3JrZWRbZW1wbG95ZWVJbmRleF07CiAgICAgICAgZG91YmxlIHdhZ2UgPSBob3VybHlXYWdlc1tlbXBsb3llZUluZGV4XTsKICAgICAgICBkb3VibGUgZ3Jvc3NQYXkgPSBjYWxjdWxhdGVHcm9zc1BheShlbXBsb3llZUluZGV4KTsKICAgICAgICBkb3VibGUgdGF4ID0gY2FsY3VsYXRlVGF4KGdyb3NzUGF5LCAwLjIpOwogICAgICAgIGRvdWJsZSBuZXRQYXkgPSBjYWxjdWxhdGVOZXRQYXkoZ3Jvc3NQYXksIHRheCk7CgogICAgICAgIERlY2ltYWxGb3JtYXQgZGVjaW1hbEZvcm1hdCA9IG5ldyBEZWNpbWFsRm9ybWF0KCIjMC4wMCIpOwoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBheSBTdHViIGZvciBFbXBsb3llZTogIiArIG5hbWUpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiSG91cnMgV29ya2VkOiAiICsgaG91cnMpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiSG91cmx5IFdhZ2U6ICQiICsgZGVjaW1hbEZvcm1hdC5mb3JtYXQod2FnZSkpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiR3Jvc3MgUGF5OiAkIiArIGRlY2ltYWxGb3JtYXQuZm9ybWF0KGdyb3NzUGF5KSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJUYXg6ICQiICsgZGVjaW1hbEZvcm1hdC5mb3JtYXQodGF4KSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJOZXQgUGF5OiAkIiArIGRlY2ltYWxGb3JtYXQuZm9ybWF0KG5ldFBheSkpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgU3RyaW5nW10gZW1wbG95ZWVOYW1lcyA9IAogICAgICAgIHsKICAgICAgICAgICAgIkpvaG4iLCJKYW5lIgogICAgICAgIH07CiAgICAgICAgZG91YmxlW10gaG91cnNXb3JrZWQgPSAKICAgICAgICB7CiAgICAgICAgICAgIDQwLjAsIDM1LjUKICAgICAgICB9OwogICAgICAgIGRvdWJsZVtdIGhvdXJseVdhZ2VzID0KICAgICAgICB7CiAgICAgICAgICAgIDE1LjAsIDIwLjAKICAgICAgICB9OwoKICAgICAgIE1haW4gcGF5cm9sbFN5c3RlbSA9IG5ldyBNYWluKGVtcGxveWVlTmFtZXMsIGhvdXJzV29ya2VkLCBob3VybHlXYWdlcyk7CiAgICAgICAgcGF5cm9sbFN5c3RlbS5nZW5lcmF0ZVBheVN0dWIoMCk7CiAgICAgICAgcGF5cm9sbFN5c3RlbS5nZW5lcmF0ZVBheVN0dWIoMSk7CiAgICB9Cn0=