点菜系统开发
点菜系统,首先需要实现菜单的显示、对菜品进行点单以及最后的结账操作。
其中主要包含菜品类,以及功能实现类。
(当然,其中也可以包含顾客类等等,但是本系统开发设置仅包含菜品类以及功能实现类,最后实现的功能为在控制台操作点单)
<code>点菜系统菜品类Dish</code>
菜品类中仅包含菜品编号,菜品名称,以及菜品价格3个变量,然后生成有参的构造方法。
注:因为使用软件为IDEA,因此可以使用快捷键Alt+insert更快的生成构造方法。
首先创建main方法,然后根据需要实现的功能进行扩充。
在该方法中,需要对所有的菜品进行展示,然后让用户根据提示进行点单,然后能够显示点好后的菜品,最后,得出所有菜品的总价。
因为需要对饭店中的所有菜品进行展示,所以需要对菜品进行初始化。在此过程中,需要先创建一个集合对所有的菜品进行存放。
<code>定义集合</code>static List dishList = new ArrayList<>();
在菜品初始化过程中,创建新的菜品对象,然后将对象添加到集合中。有如下的两种方法:
<code>菜品初始化</code>
对主菜单进行展示,让顾客能够根据主菜单选择相关的操作,实现结果如下所示:
----主菜单----
菜单 1
已点菜品 2
买单 3
--请根据编号选择服务--
根据主菜单,分别创建菜单、已点菜单、买单三个方法来对功能进行实现。
菜单:主要通过遍历初始化菜品后得到的集合,进行输出显示后实现。
已点菜单:通过遍历已点菜品后得到的集合,进行输出显示后实现。
买单:通过遍历已点菜品后得到的集合,然后将菜品价格相加后输出显示实现。
在main方法中,通过创建扫描器对象,获取控制台输入的内容,然后根据输出内容创建while循环语句,展示菜单。使用switch…case…语句、if语句进行条件判断等操作来对用户的选择进行进一步的操作。
<code>点菜主程序</code>
运行程序后得出的结果为
1
----请点菜----
1 鱼香肉丝 29.0
2 香菇炒肉 29.0
3 凉拌肉丝 20.0
4 炒生菜 15.0
5 麻婆豆腐 20.0
----输入序号点菜,按0返回上一级----
2
亲,您点了香菇炒肉菜
3
亲,您点了凉拌肉丝菜
4
亲,您点了炒生菜菜
----您已点菜品----
亲,您点了鱼香肉丝菜
----请稍等,正在结算中----
亲,您本次共消费了:93.0 元
Process finished with exit code 0
该点菜系统的开发实现的功能为在控制台进行菜品的点单,结算等操作。主要对Java的while循环、switch语句、for循环、集合等知识进行了巩固。
该系统也可以进行进一步的优化
1.对菜品种类以及主菜单进行优化(丰富菜品与主菜单内容,增加更多的方法)
2.增加用户类,对使用者进行区分,可以据此再增设会员等级别