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++) { //level 1 - item type if (!items[i].getName().equals("Aged Brie") && !items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")) { //level 2 - quality if (items[i].getQuality() > 0) { //level 3 - item type if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) { updateQuality(items[i], -1); } } //level 1 - item type } else { //level 2 - quality if (items[i].getQuality() < 50) { updateQuality(items[i], 1); //level 3 - item type if (items[i].getName() == "Backstage passes to a TAFKAL80ETC concert") { //level 4 - sell in date if (items[i].getSellIn() < 11) { //level 5 - quality if (items[i].getQuality() < 50) { updateQuality(items[i], 1); } } //level 4 - sell in date if (items[i].getSellIn() < 6) { //level 5 - quality if (items[i].getQuality() < 50) { updateQuality(items[i], 1); } } } } } //level 1 - item type if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) { updateSellIn(items[i]); } //level 1 - sell in date if (items[i].getSellIn() < 0) { //level 2 - item type if (!items[i].getName().equals("Aged Brie")) { //level 3 - item type if (!items[i].getName().equals("Backstage passes to a TAFKAL80ETC concert")) { //level 4 - quality if (items[i].getQuality() > 0) { //level 5 - item type if (!items[i].getName().equals("Sulfuras, Hand of Ragnaros")) { updateQuality(items[i], -1); } } //level 3 - item type } else { updateQuality(items[i], -items[i].getQuality()); } //level 2 - item type } else { //level 3 - quality if (items[i].getQuality() < 50) { updateQuality(items[i], 1); } } } } } public void updateQuality(Item item, int amount){ item.setQuality(item.getQuality() + amount); } public void updateSellIn(Item item){ item.setSellIn(item.getSellIn() - 1); } }