我剛在第一學期開始學習 Java,現在我有我的第一個項目,任務是為披薩店制作一個系統。我創建了一個 Menu 類,其中創建了一個名為 Menu 的數組列表。所以我希望披薩店員能夠看到整個菜單(這部分已完成),但是任務還要求披薩店員查看當前訂單并添加/刪除訂單。我已經制作了披薩對象并將它們添加到我的主類中的菜單中,如下所示:Pizza vesuvio = new Pizza("Vesuvio",57, 1, "tomatsauce, ost og oregano");menu.addPizza(vesuvio);然后我在“訂購類”中創建了一個 userDialogue 方法,我想將 main 中的 PizzaNumber 設置為等于披薩店員輸入的披薩編號。然后根據數量添加披薩。例如,讓我們以 Vesuvio 為例,數字 (1) 是菜單上披薩的編號,因此如果披薩店輸入 1,我希望它將 Vesuvio 添加到當前訂單中。現在在我的訂購類中,這是我的 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); } } }總結一下:我能以某種方式將菜單上的披薩與顧客訂購的披薩相匹配嗎?
1 回答

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