Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Solution
- {
- public static void main(String[] args)
- {
- Solution solution = new Solution();
- Programmer pupkin = solution.new Programmer();
- pupkin.setHoursWorked(150);
- pupkin.setSalaryPerMonth(2000);
- Manager vasia = solution.new Manager();
- vasia.hoursWorked = 170;
- vasia.salaryPerMonth = 1500;
- Programmer vova = solution.new Programmer();
- vova.hoursWorked = 195;
- vova.salaryPerMonth = 2200;
- Manager ffuuu = solution.new Manager();
- vasia.hoursWorked = 80;
- vasia.salaryPerMonth = 1000;
- Booker petrovna = new Booker();
- System.out.println("manager vasia: " + petrovna.payroll(vasia));
- System.out.println("manager ffuuu: " + petrovna.payroll(ffuuu));
- System.out.println("programmer vova: " + petrovna.payroll(vova));
- System.out.println("programmer pupkin: " + petrovna.payroll(pupkin));
- }
- abstract class Worker
- {
- public int salaryPerMonth;
- public int hoursWorked;
- private int needHours = 168;
- public void setSalaryPerMonth(int salaryPerMonth)
- {
- this.salaryPerMonth = salaryPerMonth;
- }
- public void setHoursWorked(int hoursWorked)
- {
- this.hoursWorked = hoursWorked;
- }
- public double percentage()
- {
- double percentage = (double) hoursWorked / (double) needHours;
- return percentage;
- }
- public int salary()
- {
- int salary = (int) (percentage() * salaryPerMonth);
- return salary;
- }
- }
- class Programmer extends Worker
- {
- }
- class Manager extends Worker
- {
- public int salary()
- {
- int salary = (int) (percentage() * salaryPerMonth);
- if (salary > salaryPerMonth) return salaryPerMonth;
- else return salary;
- }
- }
- static class Booker
- {
- public int payroll(Worker name)
- {
- return name.salary();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement