Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个餐馆的java代码,包括多个步骤_Java - Fatal编程技术网

一个餐馆的java代码,包括多个步骤

一个餐馆的java代码,包括多个步骤,java,Java,问题1: 假设“OOP餐厅”的老板让你写一个Java 接受餐厅客户订单的程序。酒水菜单 餐厅如表1所示。此程序必须允许客户 决定他/她想要订购多少物品。然后,它会让 客户可根据自己的喜好选择每种商品。在上面 完成订购后,程序将显示订购的总金额 将订单发送给客户。然后,程序必须询问客户 是否进行另一组订购 在代码中,必须创建一个方法来处理项选择和 使用以下方法返回项目的价格: double processItem(int input) 示例如图1所示 Beverage | Price F

问题1:

假设“OOP餐厅”的老板让你写一个Java 接受餐厅客户订单的程序。酒水菜单 餐厅如表1所示。此程序必须允许客户 决定他/她想要订购多少物品。然后,它会让 客户可根据自己的喜好选择每种商品。在上面 完成订购后,程序将显示订购的总金额 将订单发送给客户。然后,程序必须询问客户 是否进行另一组订购

在代码中,必须创建一个方法来处理项选择和 使用以下方法返回项目的价格:

double processItem(int input)
示例如图1所示

Beverage     | Price
Fried Rice   | RM5.50
Chicken Rice | RM5.00
Toast Bread  | RM2.00
Mixed Rice   | RM3.80
Table 1

我该怎么开始呢?我是一名法律专业的学生,但不得不这样做,请务必帮助我。您的好意将提前得到回报,谢谢您

已经写出了答案。对于非程序员来说,这是一项相当复杂的任务。有一些概念是关于一个程序应该如何构造以应对编译和运行之后的问题

这个答案就是这样的,首先我会解释我认为关键点是什么(当然我错过了一些,因为这是第二天性),然后我会给你一些关于如何运行代码的建议

第一步

想想如果你打算在纸上做这件事,会涉及到什么——你会有一份饮料清单,上面有每个饮料的名称和价格(菜单)。订单包括菜单上一种或多种不同数量的饮料。将每种饮料的价格乘以数量,即可得到订单成本

第二步

现代计算机语言使用一种称为面向对象的技术,简而言之,它涉及用一般术语描述实体以创建所谓的类。当遇到问题时,如第1步中所述,确定类应该是什么的一个好的经验法则是查看名词——在本例中,饮料、菜单和顺序看起来像是很好的候选项。一个类通常具有属性(使实例唯一的数据)和行为(基于该数据的操作),尽管从下面的代码中可以看出,不必同时具有这两个属性

第三步

我想对于一个非程序员来说,步骤2没有多大意义,所以这里有一些代码(我希望能让它更清楚一些):

第五步

这就是我认为你需要的全部代码。但是为了运行它,还有一些进一步的步骤。首先是安装,可以从Oracle下载。然后,在Java中,每个类通常在一个文本文件中声明,该文件与扩展名为
.Java
的类具有相同的名称-您将得到
Beverage.Java
Order.Java
Restaurant.Java
。接下来,您需要编译您的程序——基本上来说,这是验证您编写的代码并将其转换为Java运行时可以理解的代码的过程。我不打算解释这一点,它在中有很好的介绍,这也解释了如何运行Java程序-最终您将寻找一个类似以下内容的命令行:

java -cp [path to class files] Restaurant

给我你的paypal=)你可以开始上课。可能有人用它来处理来自控制台的用户输入。StackOverflow不是一个“如何工作”服务,如果你有一个真正的具体问题,可以问它。我甚至不知道从哪里开始。。。我希望得到一些指针。这里的问题是,您要求我们做的是(a)从头教您java(因为您没有告诉我们您的问题在哪里),或者(b)为您编写它。你必须明白这两件事都不会发生,不管是不是法律系学生。将其分解为单独的问题(获取用户输入、存储数据、输出),并分别解决每个问题。如果您发现任何元素存在问题,请搜索它;如果您找不到答案,请在此处询问特定问题“我认为您需要的代码就这些”,如果此人成为您的同事,则不必问。就我个人而言,我当然希望这会发生。
public class Restaurant
{
  /**
   * The main method is static meaning it can be accessed without creating an instance
   * of the Restaurant class.
   */
  public static void main(String[] args)
  {
    Map<String, Beverage> menu = new HashMap<String, Beverage>();

    //Create the instances of Beverage and add them to the menu.
    menu.put("Fried Rice", new Beverage("Fried Rice", new BigDecimal(5.50)));
    menu.put("Chicken Rice", new Beverage("Chicken Rice", new BigDecimal(5.00)));
    menu.put("Toast Bread", new Beverage("Toast Bread", new BigDecimal(2.00)));
    menu.put("Mixed Rice", new Beverage("Mixed Rice", new BigDecimal(3.80)));

    //Create an order and add items from the menu to it.
    Order order1 = new Order();
    order1.add(menu.get("Fried Rice"), 2);
    order1.add(menu.get("Toast Bread"), 3);
    order1.add(menu.get("Mixed Rice"), 1);

    System.out.println("Total for order 1: " + order1.getTotal()); 

    //Create another order and add items from the menu to it.
    Order order2 = new Order();
    order2.add(menu.get("Chicken Rice"), 1);
    order2.add(menu.get("Mixed Rice"), 1);
    order2.add(menu.get("Toast Bread"), 2);

    System.out.println("Total for order 2: " + order2.getTotal()); 
  }
}
java -cp [path to class files] Restaurant