У меня просто чуть голова не взорвалась от этой задачи просто за что ...
Вообщем хотелось бы спросить, почему не приняло ответ который написал я изначально... Я понимаю конечно что он написан не в одну строчку но всё же...
Вообщем в классе Table я создал:
public Dishes getDishes() {return new Dishes(number);}
Затем в классе Waiter, после 15 строчки написал:
Dishes dishes = table.getDishes();
manager.getDishesQueue().add(dishes);
Программа вроде бы работает правильно - а валидатор не принимает ...
вот полностью классы -
Waiter:
public class Waiter implements Runnable {
public boolean continueWorking = true;
@Override
public void run() {
Manager manager = Manager.getInstance();
while (continueWorking || !manager.getDishesQueue().isEmpty()) {
if (!manager.getDishesQueue().isEmpty()) { //относим готовый заказ
Dishes dishes = manager.getDishesQueue().poll();
System.out.println("Официант отнес заказ для стола №" + dishes.getTableNumber());
} else { //берем новый заказ
Table table = manager.getNextTable();
Order order = table.getOrder();
Dishes dishes = table.getDishes();
manager.getDishesQueue().add(dishes);
System.out.println("Получен заказ от стола №" + order.getTableNumber());
manager.getOrderQueue().add(order);
}
try {
Thread.sleep(100); //walking to the next table
} catch (InterruptedException e) {
}
}
}
}
Table:
public class Table {
private static byte tableNumber;
private byte number = ++tableNumber;
public Order getOrder () {
return new Order(number);
}
public Dishes getDishes() {return new Dishes(number);}
}