• 第五章综合练习:吃货联盟订餐系统


    吃货联盟订餐系统初始代码,基本实现初步功能,后续功能有待更新和优化,请各位看官不吝指点!!!!!

    代码:

    import java.util.Scanner;
    
    public class DingCan {
    //    private static final String[] String = null;
    
        public static void main(String[] args) {
            /*
             * 初始化num0,num0=0时返回系统界面, flag标志为flag时退出整个系统,即为选项6的功能
             */
            int num0 = -1;
            boolean flag = true;
            
    //        创建信息数组
            /*
             * xuhao  订单序号 
             * names 客户姓名
             * menu    菜品名
             * count 份数
             * time 送餐时间
             * address 送餐地址
             * moneys 总金额
             * state 订单状态
             * MeHao 菜单序号
             * menus 菜单
             * Price 菜单单价
             * Zan 菜品点赞数
             */
            int[] XuHao = new int[4];
            String[] names = new String[4];
            String[] menu = new String[4];
            int[] count = new int[4];
            int[] time = new int[4];
            String[] address = new String[4];
            double[] moneys = new double[4];
            String[] state = new String[4];
            String[] menus = {"红烧带鱼","鱼香肉丝","时令鲜疏"};
            double[] Price = {38.0,15.0,10.0}; 
            int[] Zan = {55,46,20};
            int[] MeHao = {1,2,3};
            
    //        初始化两个餐袋信息
            XuHao[0] = 1;
            names[0] = "张三";
            menu[0] = "红烧带鱼";
            count[0] = 2;
            time[0] = 12;
            address[0] = "天成路207号";
            moneys[0] = 76.0;
            state[0] = "已预订";
            
            XuHao[1] = 2;
            names[1] = "李四";
            menu[1] = "鱼香肉丝";
            count[1] = 2;
            time[1] = 18;
            address[1] = "天成路207号";
            moneys[1] = 30.0;
            state[1] = "已完成";
            
    //        循环订餐系统
            do {
                @SuppressWarnings("resource")
                Scanner input = new Scanner(System.in);
                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("********************");
                
    
    //            选择菜单功能
                System.out.println("请选择:");
                int choose = input.nextInt();
                
                switch(choose) {
    //            1、我要订餐
                case 1:
                    System.out.println("****我要订餐****");
                    for(int i=0;i<XuHao.length;i++) {
                        if(names[i]==null) {
                            System.out.print("请输入订餐人姓名:");
                            XuHao[i]=i+1;
                            names[i]=input.next();
                            System.out.println("序号		菜名		单价		点赞数		");
                            for(int i1 = 0;i1<menus.length;i1++) {
                                System.out.println(MeHao[i1]+"		"+menus[i1]+"		"+Price[i1]+""+Zan[i1]);
                            }
                            boolean flag1 = false;
                            System.out.print("请选择您要点的菜单编号:");
                            int dex;
                            do {
                                
                                dex = input.nextInt();
                                if(dex>=1&&dex<=3) {
                                    break;
                                }else {
                                    System.out.print("您选择的菜单编号不存在,请重新选择:");
                                    flag1 = true;
                                }
                            }while(flag1);
                            menu[i] = menus[dex-1];
                            System.out.print("请输入您需要的分数:");
                            int num = input.nextInt();
                            count[i] = num;
                            moneys[i] = Price[dex-1]*num;
                            System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
                            do {
                                time[i] = input.nextInt();
                                if(time[i]>=10&&time[i]<=20) {
                                    break;
                                }else {
                                    flag1 = true;
                                    System.out.print("您输入的时间不在送餐时间内,请重新输入(送餐时间是10点至20点间整点送餐):");
                                }
                            }while(flag1);
                            System.out.print("请输入您的送餐地址:");
                            address[i] = input.next();
                            state[i] = "已预订";
                            System.out.println("恭喜您订餐成功!订单详情如下:");
                            System.out.println("序号		订餐人		餐品信息		份数		送餐时间		送餐地址		总金额		订单状态");
                            System.out.println(XuHao[i]+"		"+names[i]+"		"+menu[i]+"		"+count[i]+
                                    ""+time[i]+""+address[i]+"		"+moneys[i]+"		"+state[i]);
                            break;
                        }else if(i == XuHao.length-1){
                            System.out.println("对不起,目前餐袋已满,无法订餐,请稍后再订餐,谢谢!");
                        }
                    }
                    break;
    //            2、查看餐袋
                case 2:
                    System.out.println("****查看餐袋****");
                    System.out.println("序号		订餐人		餐品信息		份数		送餐时间		送餐地址		总金额		订单状态");
                    for(int i=0;i<XuHao.length;i++) {
                        if(names[i]==null) {
                            break;
                        }else {
                            System.out.println(XuHao[i]+"		"+names[i]+"		"+menu[i]+"		"+count[i]+
                                    ""+time[i]+""+address[i]+"		"+moneys[i]+"		"+state[i]);
                        }
                    }
                    break;
    //            3、签收订单    
                case 3:
                    boolean flag1 = true;
                    System.out.println("****签收订单****");
                    System.out.println("序号		订餐人		餐品信息		份数		送餐时间		送餐地址		总金额		订单状态");
                    for(int i=0;i<XuHao.length;i++) {
                        if(names[i]==null) {
                            break;
                        }else {
                            System.out.println(XuHao[i]+"		"+names[i]+"		"+menu[i]+"		"+count[i]+
                                    ""+time[i]+""+address[i]+"		"+moneys[i]+"		"+state[i]);
                        }
                    }
                    do {
                        System.out.println("请选择要签收的订单序号:");
                        int num = input.nextInt();
                        if(state[num-1] == "已完成") {
                            System.out.println("该订单已完成,无法重复签收,请重新选择需要签收的订单序号!");
                        }else {
                            flag1 = false;
                            state[num-1] = "已完成";
                            System.out.println("订单签收成功!");
                            break;
                        }
                    }while(flag1);
                    break;
    //            4、删除订单    
                case 4:
                    boolean flag11 = true;
                    System.out.println("****删除订单****");
                    System.out.println("序号		订餐人		餐品信息		份数		送餐时间		送餐地址		总金额		订单状态");
                    for(int i=0;i<XuHao.length;i++) {
                        if(names[i]==null) {
                            break;
                        }else {
                            System.out.println(XuHao[i]+"		"+names[i]+"		"+menu[i]+"		"+count[i]+
                                    ""+time[i]+""+address[i]+"		"+moneys[1]+"		"+state[i]);
                        }
                    }
                    do {
                        System.out.println("请选择您需要删除的订单序号:");
                        int num = input.nextInt();
                        if(names[num-1] == null) {
                            System.out.println("该订单序号不存在,请重新选择您要删除的订单序号!");
                        }else {
                            flag11 = false;
                            for(int i = num;i<XuHao.length;i++) {
                                XuHao[i-1] = XuHao[i]-1;
                                names[i-1] = names[i];
                                menu[i-1] = menu[i];
                                count[i-1] = count[i];
                                time[i-1] = time[i];
                                address[i-1] = address[i];
                                moneys[i-1] = moneys[i];
                                state[i-1] = state[i];
                            }
                            System.out.println("订单删除成功!");
                            System.out.println("序号		订餐人		餐品信息		份数		送餐时间		送餐地址		总金额		订单状态");
                            for(int i=0;i<XuHao.length;i++) {
                                if(names[i]==null) {
                                    break;
                                }else {
                                    System.out.println(XuHao[i]+"		"+names[i]+"		"+menu[i]+"		"+count[i]+
                                            ""+time[i]+""+address[i]+"		"+moneys[1]+"		"+state[i]);
                                }
                            }
                            break;
                        }
                    }while(flag11);
                    break;
    //            5、我要点赞    
                case 5:
                    boolean flag2 = true;
                    System.out.println("****我要点赞****");
                    System.out.println("序号		菜名		单价		点赞数		");
                    for(int i = 0;i<menus.length;i++) {
                        System.out.println(MeHao[i]+"		"+menus[i]+"		"+Price[i]+""+Zan[i]);
                    }
                    do{
                        System.out.println("请选择您要点赞的菜品序号:");
                        int i = input.nextInt();
                        if(i<=MeHao.length) {
                            flag2 = false;
                            Zan[i-1]+=1;
                            System.out.println("点赞成功!");
                            break;
                        }else {
                            System.out.println("您选择的菜品序号不存在,请重新选择!:");
                        }
                    }while(flag2);
                    System.out.println("****我要点赞****");
                    System.out.println("序号		菜名		单价		点赞数		");
                    for(int i = 0;i<menus.length;i++) {
                        System.out.println(MeHao[i]+"		"+menus[i]+"		"+Price[i]+""+Zan[i]);
                    }
                    break;
    //            6、退出系统    
                case 6:
                    System.out.println("****退出系统****");
                    flag= false;
                    break;
                default:
    //                客户输入0~6以外的数字皆默认不使用本系统
                    flag= false;
                    break;
                }
                
                if(!flag==true) {
                    break;
                }else {
                    System.out.println("请输入0返回菜单");
                    num0 = input.nextInt();
                }
            }while(num0==0);
            
            
            System.out.println("谢谢使用,欢迎下次光临!");
            
        }
    }

     各个功能运行结果:

    1、订餐功能

    2、查看餐袋

    3、签收订单

    4、删除订单

    5、我要点赞

    6、退出系统以及输入其他数字默认不使用本系统

           

  • 相关阅读:
    Why use strong named assemblies?
    Dependency Walker
    “等一下,我碰!”——常见的2D碰撞检测
    MOBA游戏的网络同步技术
    VS2017如何配置openGL环境
    UE4关于Oculus Rift (VR)开发忠告
    UE4 的json读写方式
    Blueprint 编译概述
    UE4编码规范
    Unreal Enginer4特性介绍
  • 原文地址:https://www.cnblogs.com/Dean-0/p/11119713.html
Copyright © 2020-2023  润新知