Перебор всевозможных вариантов, с выбором набора роликов, удовлетворяющим условию.
package com.javarush.task.task27.task2712;
import com.javarush.task.task27.task2712.kitchen.Cook;
import com.javarush.task.task27.task2712.kitchen.Dish;
import com.javarush.task.task27.task2712.kitchen.Order;
import com.javarush.task.task27.task2712.kitchen.Waiter;
import java.io.IOException;
public class Restaurant {
public static void main(String[] args) {
Tablet tablet = new Tablet(1); //создаем планшет на столике
Cook cook = new Cook("Tom"); //создаем повара
Waiter waiter = new Waiter(); //создаем официанта
tablet.addObserver(cook); //добавляем планшету наблюдателя (повар будет получать уведомления о новом заказе)
cook.addObserver(waiter); //добавляем повару наблюдателя (официант будет получать уведомления о приготовленном заказе)
tablet.createOrder();
// tablet.createOrder();
// tablet.createOrder();
// tablet.createOrder();
}
}