外卖点餐系统

一、外卖点餐系统
public static void main(String[] args) {
String[] name = new String[4];
String[] menu = {“红烧茄子”,“红烧排骨”,“鱼香肉丝”};//菜品订单
int[] good = new int[3];//点赞数组
double[] money={24,36,32};//菜品的单价
String[] time= new String[4];//送餐时间
String[] part=new String[4];//餐品的份数
String[] address=new String[4];//订餐人地址
int[] states=new int[4];//储存订单状态(预订,完成)
boolean notfull=true;//循环判定
boolean isback=true;//返回判定
double[] sumPrices=new double[4];//总价

    Scanner sc = new Scanner(System.in);
    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.print("请选择:");
        int key=sc.nextInt();//选择变量



        switch (key){
            case 1://我要订餐系统
                System.out.print("请输入订餐人姓名:");
                for (int i = 0; i < 4; i++) {
                    if(name[i]==null){
                        name[i]=sc.next();
                        break;
                    }
                }
                //显示菜单
                System.out.println("序号\t菜名\t单价");
                for (int i = 0; i < menu.length; i++) {
                    System.out.println((i+1)+"\t"+menu[i]+"\t"+money[i]);
                }
                System.out.print("请选择您要点的菜品编号:");
                int dishCode=sc.nextInt();
                System.out.print("请选择您想需要的份数:");
                int ordernum=sc.nextInt();
                for (int i = 0; i < part.length; i++) {
                    if(part[i]==null){
                        part[i]=menu[dishCode-1]+ordernum+"份";
                        break;
                    }
                }

                //订单时间
                System.out.print("请输入送餐时间:");
                String sendTime=sc.next();
                for (int i = 0; i < time.length; i++) {
                    if(time[i]==null){
                        time[i]=sendTime;
                        break;
                    }
                }

                //送餐地址
                System.out.print("请输入送餐地址:");
                String sendAddress=sc.next();
                for (int i = 0; i < address.length; i++) {
                    if(address[i]==null){
                        address[i]=sendAddress;
                        break;
                    }
                }

                //显示订餐信息
                System.out.println("订餐成功!");
                System.out.println("您订的是:"+menu[dishCode-1]+ordernum+"份");
                System.out.println("送餐时间:"+sendTime);
                //计算并显示送餐费
                double dishFee=money[dishCode-1]*ordernum;
                System.out.println("送餐费为"+dishFee);

                //存储总金额
                for (int i = 0; i < sumPrices.length; i++) {
                    if(sumPrices[i]==0){
                        sumPrices[i]+=dishFee;
                        break;
                    }
                }
                do{
                    System.out.println("输入0返回主菜单");
                    if(sc.nextInt()==0)
                        isback=false;
                    else
                        isback=true;
                }while (isback);

                break;
            case 2://查询
                System.out.println("***查看餐袋***");
                System.out.println("序号\t"+"订餐人\t"+"\t餐品信息\t"+"\t送餐日期\t"+"送餐地址\t"+"\t总金额\t"+"\t订单状态");
                for(int i=0;i<name.length;i++) {
                    if(name[i]!=null) {
                        String state =states[i]==0?"已预订":"已完成";
                        System.out.println((i+1)+"\t\t"+name[i]+"\t\t"+menu[i]+"\t\t"+time[i]+"\t\t"+address[i]+"\t\t\t"+sumPrices[i]+"\t\t"+state);
                    }
                }

                do{
                    System.out.println("输入0返回主菜单");
                    if(sc.nextInt()==0)
                        isback=false;
                    else
                        isback=true;
                }while (isback);
                break;
            case 3:
                System.out.println("*********签收订单*********");
                System.out.print("请输入您要签收的订单");
                int index=sc.nextInt();
                if(index>name.length||index<=0){
                    System.out.println("签收失败,订单不存在");
                }else if(name[index-1]==null){
                    System.out.println("签收失败,未查询到该订单");
                }else if(states[index-1]==0){
                    states[index-1]=1;
                    System.out.println("签收成功");
                }else
                    System.out.println("该订单已经签收,无需再次签收");

                //返回语句
                do{
                    System.out.println("输入0返回主菜单");
                    if(sc.nextInt()==0)
                        isback=false;
                    else
                        isback=true;
                }while (isback);

                break;
            case 4://删除订单(先查询,再用后一个覆盖前一个arr[i]=arr[i+1])
                System.out.println("********删除订单********");
                System.out.print("请输入想要删除的订单:");
                int index1=sc.nextInt();
                if(index1>name.length||index1<=0){
                    System.out.println("删除失败,订单不存在");
                }else if(name[index1-1]==null) {
                    System.out.println("删除失败,未查询到该订单");
                }else if(states[index1-1]==0){
                    System.out.println("删除失败,订单未签收禁止删除");
                }else{
                    for (int i = index1-1; i < name.length-1; i++) {
                        name[i]=name[i+1];
                        time[i]=time[i+1];
                        address[i]=address[i+1];
                        sumPrices[i]=sumPrices[i+1];
                        states[i]=states[i+1];
                    }
                    System.out.println("订单删除成功");
                }

                do{
                    System.out.println("输入0返回主菜单");
                    if(sc.nextInt()==0)
                        isback=false;
                    else
                        isback=true;
                }while (isback);
                break;
            case 5://点赞系统
                System.out.println("*********我要点赞*********");
                //显示菜单
                System.out.println("序号\t菜名\t单价");
                for (int i = 0; i < good.length; i++) {
                    System.out.println((i+1)+"\t"+menu[i]+"\t"+money[i]+"\t"+good[i]+"赞");
                }
                System.out.print("请选择您要点赞的菜品序号:");
                int index2=sc.nextInt();
                if(index2<=0||index2>good.length)
                    System.out.println("菜品不存在,点赞失败!");
                else {
                    good[index2-1]++;
                    System.out.println("点赞成功!");
                }

                do{
                    System.out.println("输入0返回主菜单");
                    if(sc.nextInt()==0)
                        isback=false;
                    else
                        isback=true;
                }while (isback);
                break;
            case 6://退出系统
                notfull=false;
                break;
        }
    }while(notfull);
}

运行效果:
点餐
查看餐袋
签收订单
删除订单
点赞
退出系统

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值