Вывод:
Your order: [Soup, Juice, Fish] of Tablet{number=2}
Start cooking - Your order: [Soup, Juice, Fish] of Tablet{number=2}, cooking time 45min
Ninth Video is displaying... 1500, 1250
Tenth Video is displaying... 450, 500
Fifth Video is displaying... 350, 2916
Eighth Video is displaying... 300, 714
Четвертое видео is displaying... 75, 1250
06-Nov-2018 - 26.75
Total - 26.75
Eleventh Video - 5
First Video - 100
Ninth Video - 1
Second Video - 10
Sixth Video - 2
Tenth Video - 1
Third Video - 2
Двенадцатое видео - 5
Седьмое видео - 2
Четвертое видео - 1
Eighth Video
Fifth Video
06-Nov-2018
Your order: [Soup, Juice, Fish] of Tablet{number=2} was cooked by Ben
Ben - 45 min
package com.javarush.task.task27.task2712;
import com.javarush.task.task27.task2712.kitchen.Cook;
import com.javarush.task.task27.task2712.kitchen.Waiter;
import com.javarush.task.task27.task2712.statistic.StatisticManager;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class Restaurant {
private static final int ORDER_CREATING_INTERVAL = 100;
public static void main(String[] args) {
Waiter waiter = new Waiter();
Cook cookB = new Cook("Ben");
cookB.addObserver(waiter);
Cook cookA = new Cook("Adam");
cookA.addObserver(waiter);
StatisticManager statisticManager = StatisticManager.getInstance();
statisticManager.register(cookB);
statisticManager.register(cookA);
OrderManager orderManager = new OrderManager();
List<Tablet> tablets = new ArrayList<>();
for (int i = 1; i <= 5; i++) {
Tablet tablet = new Tablet(i);
tablet.addObserver(orderManager);
tablets.add(tablet);
}
Thread thread = new Thread(new RandomOrderGeneratorTask(tablets, ORDER_CREATING_INTERVAL));
thread.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
thread.interrupt();
DirectorTablet directorTablet = new DirectorTablet();
directorTablet.printAdvertisementProfit();
directorTablet.printActiveVideoSet();
directorTablet.printArchivedVideoSet();
directorTablet.printCookWorkloading();
}
}