为了账号安全,请及时绑定邮箱和手机立即绑定

Java项目-披萨作业

Java项目-披萨作业

慕慕森 2023-12-13 14:35:16
我刚在第一学期开始学习 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个赞

我注意到您的代码存在一些潜在问题:

  1. 您需要使用new ArrayList<>();而不是初始化您的ArrayListsnew ArrayList();

  2. 我对你如何调用menu.addPizza()orderList.addPizza()查看有点困惑,因为这两个都是 的实例ArrayList,并且该类中不存在这样的方法。也许使用menu.add()andorderList.add()代替?

  3. 您可以在 中使用披萨的索引,而不是自己为每个披萨分配编号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));


查看完整回答
反对 回复 2023-12-13
  • 1 回答
  • 0 关注
  • 48 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信