吃货联盟订餐系统

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //菜品
        String[] dishes = {"1红烧肉","开水白菜","1佛跳墙","蜜汁熊掌"};
        //菜品对应的价格
        double[] price = {18,12,68,88};
        //菜品对应的点赞数
        int[] honors = {50,100,20,12};
        //订单
        String[][] orders = new String[100][];
        //欢迎页
        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("*****************");
            System.out.print("请选择:");
            chose = sc.nextInt();
            switch (chose){
                case(1):
                    System.out.println("***我要订餐***");
                    System.out.print("请输入订餐人姓名:");
                    String name = sc.next();
                    //菜单信息
                    System.out.println("序号\t菜品\t\t单价");
                    for (int i = 0; i < dishes.length; i++) {
                        System.out.println((i+1)+"\t"+dishes[i]+"\t"+price[i]+"元");
                    }
                    int dishNum = 0;
                    do {
                        System.out.print("请选择您要点的菜品的编号:");
                        dishNum = sc.nextInt();
                        if (dishNum<1 || dishNum>dishes.length){
                            System.out.print("对不起,您的输入有误,请重新输入!");
                        }
                    }while (dishNum<1 || dishNum>dishes.length);

                    int pcs = 0;
                    do {
                        System.out.print("请选择您需要的份数:");
                        pcs = sc.nextInt();
                        if (pcs<=0){
                            System.out.print("对不起,您的输入有误,请重新输入!");
                        }
                    }while (pcs<=0);

                    int time = 0;
                    do {
                        System.out.print("请输入送餐时间(10点-20点整点):");
                        time = sc.nextInt();
                        if (time<10||time>20){
                            System.out.print("对不起,您的输入有误,请重新输入!");
                        }
                    }while (time<10||time>20);
                    System.out.print("请输入送餐地址:");
                    String address = sc.next();
                    System.out.println("订餐成功");
                    System.out.println("您订的是"+dishes[dishNum-1]+"\t"+pcs+"份");
                    System.out.println("送餐时间:"+time+"点");
                    double cos = price[dishNum-1]*pcs;
                    double sent = cos>50?0:6;
                    double total = cos + sent;
                    System.out.println("餐费:"+cos+"元,送餐费"+sent+"元,总计"+total+"元");
                    for (int i = 0; i < orders.length; i++) {
                        if(orders[i]==null){
                            orders[i] = new String[2];
                            orders[i][0] = name+"\t"+dishes[dishNum-1]+pcs+"份\t"+time+"点\t"+address+"\t"
                                    +total+"元";
                            orders[i][1] = "已预订";
                            break;
                        }
                    }
                    break;



                case(2):
                    System.out.println("***查看餐袋***");
                    System.out.println("序号\t订餐人\t产品信息\t送餐时期\t送餐地址\t总金额\t订单状态");
                    for (int i = 0; i < orders.length; i++) {
                        if (orders[i] != null){
                            System.out.println((i+1)+"\t"+orders[i][0]+"\t"+orders[i][1]);
                        }else {
                            break;
                        }
                    }
                    break;


                case(3):
                    System.out.println("***签收订单***");
                    System.out.println("序号\t订餐人\t产品信息\t送餐时期\t送餐地址\t总金额\t订单状态");
                    for (int i = 0; i < orders.length; i++) {
                        if (orders[i] != null){
                            System.out.println((i+1)+"\t"+orders[i][0]+"\t"+orders[i][1]);
                        }else {
                            break;
                        }
                    }
                    int num = 0;
                    int end = 0;
                    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 < 1 || num>end){
                            System.out.println("输入有误,请重新输入");
                        }else if ("已完成".equals(orders[num-1][1])){
                            System.out.println("订单已签收,不能重复签收");
                        }else {
                            orders[num-1][1] = "已完成";
                            break;
                        }
                    }while (num < 1 || num>end ||"已预订".equals(orders[num-1][1]));
                    break;


                case(4):
                    System.out.println("***删除订单***");
                    System.out.println("序号\t订餐人\t产品信息\t送餐时期\t送餐地址\t总金额\t订单状态");
                    for (int i = 0; i < orders.length; i++) {
                        if (orders[i] != null){
                            System.out.println((i+1)+"\t"+orders[i][0]+"\t"+orders[i][1]);
                        }else {
                            break;
                        }
                    }
                    int n = 0;
                    int e = 0;
                    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("输入有误,请重新输入");
                        }else if (!"已完成".equals(orders[n-1][1])){
                            System.out.println("未完成的订单不能删除");
                        }else {
                            boolean isDelete = false;
                            for (int i = n-1; i < orders.length; i++) {
                                if (n==orders.length-1){
                                    orders[i] = null;
                                    isDelete = true;
                                }else {
                                    orders[i] = orders[i+1];
                                    if (orders[i]==null){
                                        isDelete = true;
                                        break;
                                    }
                                }
                            }
                            if (isDelete){
                                break;
                            }
                        }
                    }while (n<1||n>e||"已完成".equals(orders[n-1][1]));
                    break;


                case(5):
                    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"+orders[i][1]);
                        }else {
                            break;
                        }
                    }
                    int x = 0;
                    int y = 0;
                    do {
                        System.out.println("请输入您要点赞的餐品");
                        x = sc.nextInt();
                        for (int i = 0; i < orders.length; i++) {
                            if (orders[i]==null){
                                y = i;
                                break;
                            }
                        }
                        if (x<1||x>y){
                            System.out.println("您输入的信息有误,请重新输入");
                        } else {
                            for (int i = 0; i < orders.length-1; i++) {
                                if ((i+1)==x){
                                    honors[i]++;
                                    System.out.println("点赞成功,"+(i+1)+"的餐品赞数为"+honors[i]);
                                    break;
                                }
                            }break;
                        }
                    }while (x<1||x>y);
                    break;
                default:
                    break;
            }
            if(chose>0&&chose<6){
                System.out.println("输入0返回");
                chose = sc.nextInt();
            }else {
                break;
            }
        }while (chose==0);
        System.out.println("谢谢使用,欢迎下次光临");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值