,,java实现饭店点菜系统

,,java实现饭店点菜系统

本文主要详细介绍了基于java的餐厅点菜系统。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

在本文中,我们分享一下java用于酒店点菜系统的具体代码,供大家参考。具体内容如下

JAVA实现饭店点菜系统

在这个暑假,我会把一些经典的java编程练习放到网上。做好了贴在博客上。是对自己学习的监督,也方便大家互相学习交流。让我们一起进步。

这个点菜系统有点像我之前Java课程设计中的小学生数学习题。不过没有文件操作,相对简单。

我实现了如图的效果。

最重要的 还是面向对象的思想,我们要理解并使用。

1.在点菜系统中,为了方便餐厅添加菜谱,我们需要使用一个列表集,它可以改变长度。

2.每一道菜都是我们需要打包的一个对象,包括三个属性:编号、菜名、价格。

3.对于排序的特定需求,我们必须编写每个静态方法。在主方法中,流程是根据客户的订购流程设计的。

看到了效果图 。我们直接贴代码, 在代码中解释 。

导入Java . util . ArrayList;

导入Java . util . list;

导入Java . util . scanner;

/**

*太原理工大学软件学院-李同学

* java实现点菜系统

*欢迎大家一起交流。评论或私信。

*/

公共课程菜单{

//声明两套,第一套用来保存餐厅菜单,第二套用来保存客户点的菜单。

static list menu dish list=new ArrayList();

静态list menu person list=new ArrayList();

int id

字符串名称;

双倍价格;

//构造方法,每一盘都是一个对象

公共菜单(int id,String name,double price) {

this.id=id

this.name=name

this.price=价格;

}

公共静态void main(String[] args) {

//声明这家餐厅只有五道菜。O(_)O哈哈~

//第一个声明方法,并将其添加到餐厅菜单中。

菜单dish1=新菜单(1,‘鱼香肉丝’,28.0);

dish list . add(dish 1);

菜单dish2=新菜单(2,'炖乌龟',58.0);

dish list . add(dish 2);

菜单dish3=新菜单(3,'家常凉菜',18.0);

dish list . add(dish 3);

//第二个声明方法。这两种方法大家都要学。

DishList.add(新菜单(4,'山西油锅肉',38.0));

DishList.add(新菜单(5,'西湖牛肉汤',36.0));

Scanner sc=新扫描仪(system . in);

/**

*接下来是订餐系统的核心代码。有点复杂。让我们放松一下。

*我尽量把评论都写出来。

*我们需要知道订购要求:1。酒店有什么菜?2.顾客已经点完了。

*重新展示酒店服务,供顾客再次选择。3.顾客点了什么菜?4.顾客把菜退了?5.检查一下。

*一开始是while(true)的“无限循环”吗?每次执行酒店服务号方法时,都会输出一次。

*第二个客户选择服务sc . nextint();客户输入的数字由开关区分。

*进入切换后,根据客户的要求执行不同的case。

*当执行案例1时,您将进入订购流程。

* A while(真)再次出现。先给顾客看酒店的五道菜。等待客户订购so sc . nextint();

*不同的号码,对应不同的菜品,对应不同的收藏。将顾客选择的菜肴保存在人员列表集合中。

*注意:在showDish方法中,有一个“按0返回上一级”的实现代码

*是案例1中的if条件语句:如果客户选择0,他将完成点餐并返回酒店服务。

*剩下的案例2 3 4应该很容易理解。不知道的可以私信我!

*另一个技巧是,案例3使用return而不是break。原因是:break只是一个厨房开关回路。

*结账后,我们需要结束这个订购系统,并使用return直接进入该程序。

*/

while (true) {

number();

int num=sc . nextint();

开关(数量){

案例1:

while (true) {

showDish();

int id=sc . nextint();

if (id==0) {

打破;

}否则{

menu dish=dish list . get(id-1);

System.out.println('亲爱的,您点了:' dish . name ' dish ');

person list . add(dish);

}

}

案例二:

showOrder();

打破;

案例三:

支付();

返回;

案例4:

System.out.println('输入要退的菜的编号');

int id=sc . nextint();

exit dish(id);

打破;

}

}

}

//显示主菜单方法。

公共静态void号(){

System.out.println('欢迎来到小帅餐厅!');

System.out.println(' -主菜单-');

system . out . println(' menu-1 ');

system . out . println(' a la carte-2 ');

system . out . println(' check out-3 ');

system . out . println(' Dish-4 ');

System.out.println(' -根据数字选择服务-');

}

//显示餐厅菜单方法

公共静态void showDish() {

System.out.println(' -请订购-');

//遍历集合,并向控制台显示所有以前声明的对象集合。

for(int I=0;I dish list . size();i ) {

menu dish=dish list . get(I);

system . out . println(dish . id ' ' dish . name ' ' dish . price '元');

}

System.out.println(' -按序号排序,按0返回上一级-');

}

//显示客户点的菜单

公共静态void showOrder() {

System.out.println(' -您已订购-');

//这个被注释掉的方法不适合使用菜返回操作。因为每道菜前面的id值并不是真正的收藏顺序。

/*for(菜单菜:人员列表){

system . out . println(dish . id ' ' dish . name ' ' dish . price '元');

}*/

//为了方便顾客正确选择菜号,我们按照1 2 3 4的顺序输出点的菜。

for(int I=0;I person list . size();i ){

system . out . println((I 1)' ' person list . get(I)。name'' personlist.get (i)。价格‘元’);

}

}

//只累加checkout遍历personList集合的价格。

公共静态void支付(){

双倍总计=0f

System.out.println(' -正在结账,请稍等!- ');

//另一种遍历集合的方法。大家学习。

对于(菜单菜:人员列表){

total=dish.price

}

System.out.println('你花:'合计'元');

}

//返菜操作使用集合的remove方法。采用参数化方法。告诉顾客先把盘子退回,然后再进行撤盘操作。这两个代码不能颠倒。

public static void exit dish(int I){

System.out.println('您已返回:' personlist.get (I-1)。name'' personlist.get (I-1)。价格‘元’);

person list . remove(I-1);

}

}

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: