把for loop改成foreach且把計算邏輯移到fuction方便閱讀

This commit is contained in:
liaolizhen 2020-08-13 16:20:08 +08:00
parent 2f629ecc0e
commit bfcbd1c96f
2 changed files with 55 additions and 50 deletions

View File

@ -8,57 +8,62 @@ class GildedRose {
} }
public void updateQuality() { public void updateQuality() {
for (int i = 0; i < items.length; i++) { for (Item item : items) {
if (items[i].name.equals("Aged Brie") || items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { updateItem(item);
if (items[i].quality < 50) { }
items[i].quality = items[i].quality + 1; }
if (items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { private void updateItem(Item item) {
if (items[i].sellIn < 11) { if (item.name.equals("Aged Brie")
if (items[i].quality < 50) { || item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
items[i].quality = items[i].quality + 1; if (item.quality < 50) {
} item.quality = item.quality + 1;
}
if (items[i].sellIn < 6) { if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
if (items[i].quality < 50) { if (item.sellIn < 11) {
items[i].quality = items[i].quality + 1; if (item.quality < 50) {
} item.quality = item.quality + 1;
} }
} }
}
} else {
if (items[i].quality > 0) {
if (items[i].name.equals("Sulfuras, Hand of Ragnaros")) {
} else {
items[i].quality = items[i].quality - 1;
}
}
}
if (items[i].name.equals("Sulfuras, Hand of Ragnaros")) { if (item.sellIn < 6) {
} else { if (item.quality < 50) {
items[i].sellIn = items[i].sellIn - 1; item.quality = item.quality + 1;
} }
}
}
}
} else {
if (item.quality > 0) {
if (item.name.equals("Sulfuras, Hand of Ragnaros")) {
} else {
item.quality = item.quality - 1;
}
}
}
if (items[i].sellIn < 0) { if (item.name.equals("Sulfuras, Hand of Ragnaros")) {
if (items[i].name.equals("Aged Brie")) { } else {
if (items[i].quality < 50) { item.sellIn = item.sellIn - 1;
items[i].quality = items[i].quality + 1; }
}
} else { if (item.sellIn < 0) {
if (items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) { if (item.name.equals("Aged Brie")) {
items[i].quality = items[i].quality - items[i].quality; if (item.quality < 50) {
} else { item.quality = item.quality + 1;
if (items[i].quality > 0) { }
if (items[i].name.equals("Sulfuras, Hand of Ragnaros")) { } else {
continue; if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
} item.quality = item.quality - item.quality;
items[i].quality = items[i].quality - 1; } else {
} if (item.quality > 0) {
} if (item.name.equals("Sulfuras, Hand of Ragnaros")) {
} return;
} }
} item.quality = item.quality - 1;
} }
}
}
}
}
} }

View File

@ -11,7 +11,7 @@ class GildedRoseTest {
Item[] items = new Item[] { new Item("foo", 0, 0) }; Item[] items = new Item[] { new Item("foo", 0, 0) };
GildedRose app = new GildedRose(items); GildedRose app = new GildedRose(items);
app.updateQuality(); app.updateQuality();
assertEquals("fixme", app.items[0].name); assertEquals("foo", app.items[0].name);
} }
// copy-paste from https://gist.github.com/adelatorrefoss/ebc658b3e0054913dced80c8fe384de0 // copy-paste from https://gist.github.com/adelatorrefoss/ebc658b3e0054913dced80c8fe384de0