Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Подскажите как реализовать  [new]
x17.mstu
Member

Откуда:
Сообщений: 312
Есть два класса Courier и Picker - они реализуют интерфейс Worker . В интерфейсе worker два метода bonus() и doWork()

При попытке повторной выплаты бонуса (повторный вызов метода bonus() на работнике) в консоль должно выводиться сообщение “Бонус уже был выплачен”. Не понимаю как это реализовать

public class Picker implements Worker{

    static boolean is_bonus;
    int salary;
    Warehouse warehouse;

    @Override
    public void bonus() {
        if (warehouse.getCountPickedOrders()==10000){
            salary=salary+70000;
            is_bonus = true;
        } else if (warehouse.getCountPickedOrders()<10000){
            System.out.println("Бонус пока недоступен");
        }

    }



package day11.task1;

import org.w3c.dom.ls.LSOutput;

public class Task1 {
    public static void main(String[] args) {
        Warehouse warehouse = new Warehouse();

        Picker p= new Picker(100, warehouse);
        Courier c = new Courier(20000, warehouse);

        businessProcess(p);
        businessProcess(c);

        Picker.is_bonus=false;

        if (Picker.is_bonus= Boolean.parseBoolean("true")) {
            System.out.println("Бонус уже оплачен");
        }

        if (Courier.is_bonus= Boolean.parseBoolean("true")) {
            System.out.println("Бонус уже оплачен");
        }

        System.out.println(warehouse.countPickedOrders);
        System.out.println(warehouse.countDeliveredOrders);

        System.out.println(p.salary);
        System.out.println(c.salary);
    }


        public static void businessProcess(Worker worker){
         for(int i=0 ;i<=10000; i++){
             worker.doWork();
         }
         //worker.bonus();
        }}
6 ноя 20, 18:36    [22227699]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как реализовать  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
А кто обычно отвечает за хранение информации о выплатах? Бухгалтерия.

Создавай класс Бухгалтер. Да и база бухгалтерии предполагает хранение
большего числа сведений о бонусах. Например ID сотрудника и период
начисления бонуса. И выплаты.
6 ноя 20, 19:43    [22227729]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как реализовать  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 6525
x17.mstu,
Сначала Модель данных рисуют.
Главное в любой ИС данные.
6 ноя 20, 20:56    [22227762]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как реализовать  [new]
mayton
Member

Откуда: loopback
Сообщений: 49762
Да у него странно все. Ключа нет. Вот если бухгалтерия - это Warehouse - то где доступ
к данным конкретного Пикера или Курьера? Всё связано как 1:1:1 ? Каждому курьеру
свой вархаус?
6 ноя 20, 21:07    [22227770]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить