import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String dishes[] = {"红烧肉","口水鸡","烤猪皮","蛋炒饭","二锅头"}; double price[] = {15.0,20.0,25.0,30.0,35.0}; int honors[]={50,100,20,12,44}; int hot[]={5,4,3,2,0}; String orders[][]=new String[1000][]; int chose = 0; do { System.out.println("-----饿死了么外卖点餐系统-----"); 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("请选择菜单:"); 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+" "+ dishes[i] + " " + price[i] + "元 "+hot[i]); } int dishNum=0; //菜品选择// do { System.out.println("请输入菜品编号"); dishNum = sc.nextInt(); if (dishNum < 1 || dishNum > dishes.length) { System.out.println("输入错误,请重新输入(1-5);"); } }while (dishNum<1||dishNum>dishes.length); int fs=0; //份数选择// do { System.out.println("请输入需要的份数"); fs=sc.nextInt(); if (fs<1||fs>100){ System.out.println("输入错误,请重新输入(1~100)"); } }while (fs<1||fs>100); //送餐时间选择// int time=0; do { System.out.println("'请输入送餐时间(0~24)整点送餐"); time= sc.nextInt(); if (time<0||time>24){ System.out.println("输入错误,请重新输入(0~24)"); } }while (time<0||time>24); System.out.println("请输入送餐地址:"); String addres=sc.next(); System.out.println("点餐成功"); double cost=price[dishNum-1]*fs; double sent=cost>15?5:0; double total=cost+sent; System.out.println(" "); System.out.println("***订单详情***"); System.out.println("尊敬的 "+name+" 你点了 "+dishes[dishNum-1]+ " " +fs+"份"+" "+"送餐时间:"+time+"点"+" "+"送餐地址:"+addres+" "+"餐费总计"+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" +fs+"份\t"+time+"\t"+addres+"\t"+cost+"元"; orders[i][1]="已预定"; break; } } break; //查看餐袋/ case 2: System.out.println("***查看餐袋***"); System.out.println("序号 订餐人 餐品信息 时间 地址 总金额 订单状态"); 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 qwe=0; // System.out.println("序号 订餐人 餐品信息 时间 地址 金额 订单状态"); for (int i=0;i<orders.length;i++){ if (orders[i]!=null) { System.out.println(i + 1 + " " + orders[i][0] + " " + orders[i][1]); }else { break; } } do { System.out.println("请输入要签收的订单序号:"); num= sc.nextInt(); for (int i=0;i<orders.length;i++){ if (orders[i]==null){ qwe=i+1; break; } } if (num<0||num>qwe){ 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>qwe||"已预定".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); break; //我要点赞// case 5: System.out.println("***我要点赞***"); int h=0; System.out.println("请选择点赞菜品:"); h=sc.nextInt(); if (h<1||h>dishes.length){ System.out.println("对不起,输入有误,请重新输入!"); }else{ System.out.println("点赞成功"); hot[h-1]++; } break; //退出系统// default: System.out.println("6、退出系统"); } if (chose>0&&chose<6){ System.out.println("输入0返回!"); chose=sc.nextInt(); }else { break; } }while (chose==0); System.out.println("输入0返回!"); }; }