public class Inventory { private Item[] items; public Inventory(Item[] items) { super(); this.items = items; } public void updateQuality() { for (int i = 0; i < items.length; i++) { if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) { switch (items[i].getName()) { case "Backstage passes to a TAFKAL80ETC concert" : updateTickets(items[i]); break; case "Aged Brie" : updateBrie(items[i]); break; default : updateNormalItem(items[i]); break; } items[i].setSellIn(items[i].getSellIn() - 1); } } } public void updateTickets(Item ticket) { if (ticket.getSellIn() < 0) { ticket.setQuality(0); } else if (ticket.getQuality() >= 48) { ticket.setQuality(50); } else { if (ticket.getSellIn() >= 11) { ticket.setQuality(ticket.getQuality() + 1); } if (ticket.getSellIn() >= 6 && ticket.getSellIn() < 11) { ticket.setQuality(ticket.getQuality() + 2); } else if (ticket.getSellIn() < 6) { ticket.setQuality(ticket.getQuality() + 3); } } } public void updateBrie(Item brie) { if (brie.getSellIn() > 0 && brie.getQuality() < 50) { brie.setQuality(brie.getQuality() + 1); } else if (brie.getSellIn() < 0) { brie.setQuality(brie.getQuality() + 2); } } public void updateNormalItem(Item item) { if (item.getQuality() > 0) { item.setQuality(item.getQuality() - 1); } if (item.getSellIn() < 0) { item.setQuality(item.getQuality() - 1); } } }