Java实现简单点餐系统
程序员文章站
2022-06-18 19:30:21
用java实现简单点餐系统,供大家参考,具体内容如下程序控制分析:1、欢迎页循环:do-while2、scanner 控制输入3、选择页循环:switch-case要求:订单信息:string 二维数...
用java实现简单点餐系统,供大家参考,具体内容如下
程序控制分析:
1、欢迎页循环:do-while
2、scanner 控制输入
3、选择页循环:switch-case
要求:
订单信息:string 二维数组
序号、姓名、餐品名称、份数、价格、总价、地址、时间(10-20)、状态(已预定、已完成)、热度(int型)
签收订单:改变订单状态,已预定可以签收,如果已经完成则不能再次签收。
删除订单:不能删除未完成订单,序号要随之改变。
我要点赞:对相应的餐品点赞,并展示。
package practice; import java.util.scanner; public class obj { public static void main(string[] args) { scanner sc=new scanner(system.in); string dishes[]={"红烧肉","烧熊掌","清蒸鱼","白斩鸡","烤乳鸽"}; int price[]={58,88,45,56,44}; int honors[]={50,100,20,12,44}; int hot[]={5,4,3,2,0}; string orders[][]=new string[1024][]; int chose=0; system.out. println("欢迎关岭红浪漫餐厅"); do { system.out.println("*****************"); //显示菜单 system.out.println("1、我要订餐"); system.out.println("2、查看餐袋"); system.out.println("3、签收订单"); system.out.println("4、删除订单"); system.out.println("5、我要点赞"); system.out.println("6、退出系统"); system.out.println("*****************"); system.out.println("请选择:"); chose=sc.nextint(); //订餐流程------------------------------------------------------------------------------------- switch (chose) { case 1: system.out.println("***我要订餐***"); system.out.println("请输入订餐人姓名:"); string name=sc.next(); system.out.println("序号 菜品 单价 热度"); for (int i = 0; i < dishes.length; i++) { system.out.println(i+1+"\t\t"+dishes[i]+"\t"+price[i]+"元\t"+"\t"+hot[i]); } int dishnum=0; do{ system.out.println("菜品编号"); dishnum=sc.nextint(); if ((dishnum<1||dishnum>dishes.length)){ system.out.println("对不起,输入有误,请重新输入!"); } }while (dishnum<1||dishnum>dishes.length); int pcs=0; do { system.out.println("份数"); pcs=sc.nextint(); if (pcs<1){ system.out.println("对不起,输入有误,请重新输入!"); } }while (pcs<1); int time; do { system.out.println("送餐时间"); time=sc.nextint(); if (time<10||time>22){ system.out.println("对不起,输入有误,请重新输入!"); } }while (time<10||time>22); system.out.println("地址"); string addres=sc.next(); system.out.println("success!"); system.out.println( "您定的商品信息是:" +dishes[dishnum]+ "\t" +dishnum+"份"); system.out.println("送餐时间为"+time); double cost=price[dishnum-1]*pcs; double sent=cost>50?0:6; double total=cost+sent; system.out.println("餐费共计"+total+" 其中快递费"+sent+"元"); for (int i = 0; i < orders.length; i++) { if (orders[i]==null){ orders[i]=new string[3]; orders[i][0]=name+"\t"+dishes[dishnum-1]+"\t" +pcs+"份\t"+time+"\t"+addres+"\t"+cost+"元"; //orders第一存储 菜品信息 orders[i][1]="已预定"; //orders第二存储 订单信息 break; } } break; //查看餐袋------------------------------------------------------------------------------ case 2: system.out.println("***查看餐袋***"); system.out.println("序号\t订餐人 餐品信息 时间 地址 总金额 订单状态"); for (int i = 0; i < orders.length; i++) { if (orders[i]!=null){ system.out.println(i+1+"\t"+orders[i][0]+"\t\t"+orders[i][1]); }else{ break; } } break; //订单签收---------------------------------------------------------------------------- case 3: system.out.println("***签收订单***"); int num; int end=0; system.out.println("序号\t订餐人 餐品信息 时间 地址 总金额 订单状态"); for (int i = 0; i < orders.length; i++) { if (orders[i]!=null){ system.out.println(i+1+"\t"+orders[i][0]+"\t\t"+orders[i][1]); }else{ break; } } do { system.out.println("请输入要签收订单序号:"); for (int i = 0; i < orders.length; i++) { if (orders[i]==null){ end=i+1; break; } } num=sc.nextint(); if (num<0||num>end){ system.out.println("输入有误"); }else if ("已预定".equals(orders[num-1][1])){ orders[num-1][1]="已完成"; system.out.println("订单已完成"); break; }else{ system.out.println("订单已签收,不能重复签收"); break; } }while (num<1||num>end||"已预定".equals(orders[num-1][1])); break; //删除订单------------------------------------------------------------------------ case 4: system.out.println("***删除订单***"); int n=0; //输入数字 int e=0; // 订单的最大数量 system.out.println("序号\t订餐人 \t餐品信息 \t送餐时间 \t地址 \t总金额 \t状态"); for (int i = 0; i < orders.length; i++) { if (orders[i]!=null){ system.out.print(i+1+"\t"+orders[i][0]+"\t"+orders[i][1]+"\t"); system.out.println("\t "+orders[i][1]); }else{ break; } } do { for (int i = 0; i < orders.length; i++) { //确定订单的最大数量 if (orders[i]==null){ e=i; break; } } system.out.println("要删除的订单编号:"); n=sc.nextint(); if (n<1||n>e){ system.out.println("err"); }else if ( ! "已完成".equals(orders[n-1][1])){ system.out.println("订单未完成,不能删除"); break; }else{ boolean isdelete=false; for (int i = n-1; i < orders.length; i++) { if (i==orders.length-1){ orders[i]=null; isdelete=true; // }else{ orders[i]=orders[i+1]; //前移 if (orders[i]==null){ isdelete=true; break; } } } } }while (n<1||n>e||"已完成".equals(orders[n][1])); break; //我要点赞---------------------------------------------------------------------------- case 5: system.out.println("***我要点赞***"); int hp=0; system.out.println("请选择点赞菜品:"); hp=sc.nextint(); if (hp<1||hp>dishes.length){ system.out.println("对不起,输入有误,请重新输入!"); }else{ hot[hp-1]++; } break; //退出系统------------------------------------------------------------------------------------ default: system.out.println("6、退出系统"); } //switch结束-------------------------------------------------------------------------------------- if (chose>0&&chose<6){ system.out.println("输入0返回!"); chose=sc.nextint(); }else { break; } //----------------------------------------------------------------------------- }while (chose==0); system.out.println("输入0返回!"); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。