package cn.canting; import java.io.InputStream; import java.nio.channels.SelectableChannel; import java.util.ArrayList; import java.util.InputMismatchException; import java.util.Iterator; import java.util.List; import java.util.Scanner; import org.omg.CosNaming.NamingContextExtPackage.AddressHelper; public class can { static Scanner input=new Scanner(System.in); static Scanner input1=new Scanner(System.in); public static List<entil> list=new ArrayList<entil>(); public static List<entil> listNew=new ArrayList<entil>(); public static void main(String[] args) { boolean flag=true; wwd(); } public static void wwd(){ add(); Show(); System.out.println("请输入要使用的功能"); boolean flag=input.hasNextInt(); while (!flag) { input=new Scanner(System.in); System.out.println("请输入数字"); flag=input.hasNextInt(); } int num=input.nextInt(); num(num); } public static void Show(){ 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.退出"); } public static void num(int num){ switch (num) { case 1: boolean flags=true; select(); int num2=0; do{ System.out.println("请输入要点的餐"); if(!input.hasNextInt()){ input=new Scanner(System.in); flags=false; }else { num2=input.nextInt(); flags=true; if(num2>3){ boolean f=true; do { System.out.println("请输入正确的点餐编号"); num2=input.nextInt(); if(num2<=3&&num2>0){ f=false; } }while(f==true); System.out.println("请输入要点餐的数量"); int num3=input1.nextInt(); System.out.println("请输入要送餐的地址"); String address=input1.next(); boolean flag=false; int time=0; do{ System.out.println("请输入要送餐的时间(10点到22点之间)"); time=input1.nextInt(); if(time>=10&&time<=22){ flag=false; }else { System.out.println("请重新输入"); flag=true; } }while (flag==true) ; for (entil item:list) { if(item.id==num2){ item.dingdan=listNew.size()+1; item.address=address; item.time=time; item.num=num3; listNew.add(item); item.sumMoney=item.money*num3; } } System.out.println("订餐成功"); }else { System.out.println("请输入要点餐的数量"); int num3=input1.nextInt(); System.out.println("请输入要送餐的地址"); String address=input1.next(); boolean flag=false; int time=0; do{ System.out.println("请输入要送餐的时间(10点到22点之间)"); time=input1.nextInt(); if(time>=10&&time<=22){ flag=false; }else { System.out.println("请重新输入"); flag=true; } }while (flag==true) ; for (entil item:list) { if(item.id==num2){ item.dingdan=listNew.size()+1; item.address=address; item.time=time; item.num=num3; listNew.add(item); item.sumMoney=item.money*num3; } } System.out.println("订餐成功"); } } }while (flags==false); System.out.println("按0返回"); int zero=input.nextInt(); if(zero==0){ Show(); System.out.println("请输入要使用的功能"); int num5=input.nextInt(); num(num5); } break; case 2: Showt(); input=new Scanner(System.in); System.out.println("按0返回"); zero=input.nextInt(); if(zero==0){ Show(); System.out.println("请输入要使用的功能"); int num5=input.nextInt(); num(num5); } break; case 3: caozuo(); input=new Scanner(System.in); System.out.println("按0返回"); zero=input.nextInt(); if(zero==0){ Show(); System.out.println("请输入要使用的功能"); int num5=input.nextInt(); num(num5); } break; case 4: input=new Scanner(System.in); delect(); System.out.println("按0返回"); zero=input.nextInt(); if(zero==0){ Show(); System.out.println("请输入要使用的功能"); int num5=input.nextInt(); num(num5); } break; case 5: zan(); input=new Scanner(System.in); System.out.println("按0返回"); zero=input.nextInt(); if(zero==0){ Show(); System.out.println("请输入要使用的功能"); int num5=input.nextInt(); num(num5); } break; case 6: System.out.println("退出成功"); break; default: break; } } public static void add(){ entil en=new entil(); en.id=1; en.name="红烧牛肉"; en.money=25; en.sumMoney=0; en.add=0; entil en1=new entil(); en1.id=2; en1.name="红烧猪蹄"; en1.money=20; en1.sumMoney=0; en1.add=0; entil en2=new entil(); en2.id=3; en2.name="红烧猪肉"; en2.money=30; en2.sumMoney=0; en2.add=0; list.add(en); list.add(en1); list.add(en2); } public static void select(){ System.out.println("本餐厅菜单****************************"); System.out.println("菜品编号 菜品名称 菜品价格 菜品点赞次数"); for (entil item : list) { System.out.println(item.id+" "+item.name+" "+item.money+" "+item.add); } } public static void Showt(){ System.out.println("订单编号 菜品编号 菜品名称 菜品价格 送餐地址 点餐数量 总价"); for (entil item : listNew) { if(item.dian==1){ System.out.println(item.dingdan+" "+item.id+" "+item.name+" "+item.money+" "+item.address+" "+item.num+" "+item.sumMoney); } } } public static void caozuo(){ System.out.println("未提交菜单"); System.out.println("订单编号 菜品编号 菜品名称 菜品价格 送餐地址 点餐数量 总价"); for (entil item : listNew) { if(item.dian==0){ System.out.println(item.dingdan+" "+item.id+" "+item.name+" "+item.money+" "+item.address+" "+item.num+" "+item.sumMoney); } } System.out.println("请选择提交的订单编号"); int num=input.nextInt(); int num2=0; for (entil item : listNew) { if(item.dian==0){ if(num==item.dingdan){ item.dian=1; num2=1; } } } if(num2==0){ System.out.println("无此编号"); }else{ System.out.println("提交成功"); } } public static void delect(){ for (entil item : listNew) { if(item.dian==1){ System.out.println(item.dingdan+" "+item.id+" "+item.name+" "+item.money+" "+item.address+" "+item.num+" "+item.sumMoney); } } System.out.println("请选择删除的订单号码"); int num=input.nextInt(); int num2=0; for (entil item : listNew) { if(item.dian==0){ if(num==item.dingdan){ listNew.remove(item); num2=1; } } } if(num2==0){ System.out.println("无此编号"); }else { System.out.println("删除成功"); } } public static void zan(){ System.out.println("本餐厅菜单****************************"); System.out.println("菜品编号 菜品名称 菜品价格 菜品点赞次数"); for (entil item : list) { System.out.println(item.id+" "+item.name+" "+item.money+" "+item.add); } System.out.println("请选择点赞的商品编号"); int num=input.nextInt(); for (entil item : list) { if(item.id==num){ item.add=item.add+1; } } System.out.println("点赞成功,是否继续(0退出,其他任意数字键继续)"); int num2=input.nextInt(); if(num2!=0){ zan(); } } }