Я проверял несколько раз именно по первым двум пунктам, вроде выбирается как раз по максимальной стоимости.
Может компаратор не тот)
package com.javarush.task.task27.task2712;
import com.javarush.task.task27.task2712.ad.AdvertisementManager;
import com.javarush.task.task27.task2712.ad.NoVideoAvailableException;
import com.javarush.task.task27.task2712.kitchen.Order;
import java.io.IOException;
import java.util.Observable;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Tablet extends Observable {
final int number;
static Logger logger = Logger.getLogger(Tablet.class.getName());
public Tablet(int number) {
this.number = number;
}
public Order createOrder(){
Order order = null;
try {
order = new Order(this);
try {
new AdvertisementManager(order.getTotalCookingTime()*60).processVideos();}
catch (NoVideoAvailableException e){
logger.log(Level.INFO, "No video is available for the order " + order);
}
System.out.println(order);
if(!order.isEmpty()){
setChanged();
notifyObservers(order);}
}
catch (Exception e) {
try {
throw new IOException();
} catch (IOException e1) {
logger.log(Level.SEVERE, "Console is unavailable.");
return order;
}
}
return order;
}
@Override
public String toString() {
return String.format("Tablet{number=%d}", this.number);
}
}