Java项目-披萨作业

我刚在第一学期开始学习 Java,现在我有我的第一个项目,任务是为披萨店制作一个系统。我创建了一个 Menu 类,其中创建了一个名为 Menu 的数组列表。


所以我希望披萨店员能够看到整个菜单(这部分已完成),但是任务还要求披萨店员查看当前订单并添加/删除订单。我已经制作了披萨对象并将它们添加到我的主类中的菜单中,如下所示:


Pizza vesuvio = new Pizza("Vesuvio",57, 1, "tomatsauce, ost og oregano");

menu.addPizza(vesuvio);

然后我在“订购类”中创建了一个 userDialogue 方法,我想将 main 中的 PizzaNumber 设置为等于披萨店员输入的披萨编号。然后根据数量添加披萨。例如,让我们以 Vesuvio 为例,数字 (1) 是菜单上披萨的编号,因此如果披萨店输入 1,我希望它将 Vesuvio 添加到当前订单中。


现在在我的订购类中,这是我的 userDialogue


private 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);

            }

        }

    }

总结一下:我能以某种方式将菜单上的披萨与顾客订购的披萨相匹配吗?


慕慕森
浏览 93回答 1
1回答

拉莫斯之舞

我注意到您的代码存在一些潜在问题:您需要使用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)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;orderList.addPizza(pizza); }和orderList.add(menu.get(pizzaNumber-1));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java