我剛在第一學(xué)期開始學(xué)習(xí) Java,現(xiàn)在我有我的第一個(gè)項(xiàng)目,任務(wù)是為披薩店制作一個(gè)系統(tǒng)。我創(chuàng)建了一個(gè) Menu 類,其中創(chuàng)建了一個(gè)名為 Menu 的數(shù)組列表。所以我希望披薩店員能夠看到整個(gè)菜單(這部分已完成),但是任務(wù)還要求披薩店員查看當(dāng)前訂單并添加/刪除訂單。我已經(jīng)制作了披薩對象并將它們添加到我的主類中的菜單中,如下所示:Pizza vesuvio = new Pizza("Vesuvio",57, 1, "tomatsauce, ost og oregano");menu.addPizza(vesuvio);然后我在“訂購類”中創(chuàng)建了一個(gè) userDialogue 方法,我想將 main 中的 PizzaNumber 設(shè)置為等于披薩店員輸入的披薩編號。然后根據(jù)數(shù)量添加披薩。例如,讓我們以 Vesuvio 為例,數(shù)字 (1) 是菜單上披薩的編號,因此如果披薩店輸入 1,我希望它將 Vesuvio 添加到當(dāng)前訂單中?,F(xiàn)在在我的訂購類中,這是我的 userDialogueprivate ArrayList<Pizza> orderList = new ArrayList();public void userDialogue() { Scanner myScan = new Scanner(System.in); System.out.println("Press 1 to add an order\nPress 2 to remove an order"); int answerDialog = myScan.nextInt(); if (answerDialog == 1) { System.out.println("Type the costumers name"); costumerName = myScan.nextLine(); System.out.println("Type the pizza's number"); pizzaNumber = myScan.nextInt(); //These 3 lines is what im confused about. Can if(pizzaFromMenu==pizzaNumber) { orderList.addPizza(pizza); } } }總結(jié)一下:我能以某種方式將菜單上的披薩與顧客訂購的披薩相匹配嗎?
1 回答

拉莫斯之舞
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
我注意到您的代碼存在一些潛在問題:
您需要使用
new ArrayList<>();
而不是初始化您的ArrayListsnew ArrayList();
我對你如何調(diào)用
menu.addPizza()
和orderList.addPizza()
查看有點(diǎn)困惑,因?yàn)檫@兩個(gè)都是 的實(shí)例ArrayList
,并且該類中不存在這樣的方法。也許使用menu.add()
andorderList.add()
代替?您可以在 中使用披薩的索引,而不是自己為每個(gè)披薩分配編號
menu
。例如,不要指定vesuvio
為 1,而是使用 0(menu
假設(shè)它是第一個(gè)添加到列表中的索引)。要添加披薩
orderList
,您只需致電即可orderList.add(menu.get(pizzaNumber-1));
。同樣,要刪除使用orderList.remove(menu.get(pizzaNumber-1));
現(xiàn)在,您可以替換
if(pizzaFromMenu==pizzaNumber) { orderList.addPizza(pizza); }
和
orderList.add(menu.get(pizzaNumber-1));
添加回答
舉報(bào)
0/150
提交
取消