Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Solution
- {
- 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;
- }
- }
- class Booker{
- public int payroll(Worker name){
- return name.salary();
- }
- }
- public static void main(String[] args) {
- Programmer pupkin = new Programmer();
- pupkin.setHoursWorked(150);
- pupkin.setSalaryPerMonth(2000);
- Manager vasia = new Manager();
- vasia.hoursWorked = 170;
- vasia.salaryPerMonth = 1500;
- Programmer vova = new Programmer();
- vova.hoursWorked = 195;
- vova.salaryPerMonth = 2200;
- Manager ffuuu = 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));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement