Java写一个外面点餐小系统

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返回!");
    };
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值