天天看點

基于javese的外賣訂餐系統

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int time;
        int mealnum;
        int comeback; //傳回按鈕

        //菜單
        String [] mealName = {"紅燒茄子","紅燒排骨","魚香肉絲"};
        double [] mealPrice = {24.0,36.0,32.0};

		//餐袋資訊
        String [] listName = new String[10];//姓名
        String [] listMeal = new String[10];//菜品
        int [] listNum = new int[10];//數量
        int [] listTime = new int[10];//時間
        String [] listAddress = new String[10];//位址
        double [] listMoney = new double[10];//總金額
        String [] listFettle = new String[10];//訂單狀态
        int [] likeNum = new int[3];//點贊數
        int l = -1;
        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.println("請選擇");
            int choose = sc.nextInt();
            int i;

            switch (choose){

                //我要訂餐
                case 1:
                    l++;//l初始值為-1,先自增再指派
                    System.out.println("***我要訂餐***");
                    System.out.println("請輸入訂餐人姓名:");
                    listName[l] = sc.next();
                    System.out.println("序号\t菜名\t單價");
                    System.out.println("1\t紅燒茄子\t24.0元");
                    System.out.println("2\t紅燒排骨\t36.0元");
                    System.out.println("3\t魚香肉絲\t32.0元");
                    System.out.println("請選擇你要點的菜品編号:");
                    i = sc.nextInt();
                    //對i進行判斷
                    if(i>=1&&i<=3){
                        System.out.println("請選擇你需要的份數:");
                        listNum[l] = sc.nextInt();
                        System.out.println("請輸入送餐時間(送餐時間是10點至20點間整點送餐:)");
                        listTime[l] = sc.nextInt();
                        //對送餐時間進行判斷
                        if(listTime[l]>=10&&listTime[l]<=20){
                            System.out.println("請輸入送餐位址:");
                            listAddress[l] = sc.next();
                            System.out.println("訂餐成功");
                            System.out.println("您訂的是" + mealName[i-1] + listNum[l] + "份");
                            System.out.println("送餐時間:" + listTime[l] + "點");
                            System.out.println("餐費:" + mealPrice[i-1] * listNum[l] + "元,送餐費" + 3*listNum[l]+",總計:"+(mealPrice[i-1] * listNum[l]+3*listNum[l]) );
                            listMeal[l] = mealName[i-1];
                            listMoney[l] = mealPrice[i-1] * listNum[l]+3*listNum[l];
                            listFettle[l] ="已預訂";
                        }else{
                            System.out.println("不在配送時間哦");
                            //删除錯誤的訂單
                            listName[l] = null;
                            listNum[l] = 0;
                            listTime[l] = 0;
                            l--;
                        }

                    }else{
                        System.out.println("請輸入正确的編号");
                        //删除錯誤的訂單
                        listName[l] = null;
                        l--;
                    }

                    System.out.println("輸入0傳回");
                    comeback = sc.nextInt();
                    break;

                //檢視餐袋
                case 2:
                    System.out.println("***檢視餐袋***");
                    System.out.println("序号\t訂餐人\t餐品資訊\t份數\t送餐日期\t送餐位址\t總金額\t訂單狀态");
                    for (int k=0;k<=l;k++){
                        System.out.println((k+1)+"\t\t" +listName[k]+"\t\t" +listMeal[k]+"\t\t"+listNum[k]+"\t\t"+listTime[k]+"\t\t"+listAddress[k]+"\t\t"+listMoney[k]+"\t\t"+listFettle[k]);
                    }
                    System.out.println("輸入0傳回");
                    comeback = sc.nextInt();
                    break;

                //簽收訂單
                case 3:
                    System.out.println("***簽收訂單***");
                    System.out.println("請選擇要簽收的訂單序号:");
                    int j = sc.nextInt();
                    if(listFettle[j-1].equals("已預訂")){
                        System.out.println("訂單簽收成功");
                        listFettle[j-1] = "已簽收";
                    }else {
                        System.out.println("該訂單已經被簽收");
                    }

                    System.out.println("輸入0傳回");
                    comeback = sc.nextInt();
                    break;

                //删除訂單
                case 4:
                    System.out.println("***删除訂單***");
                    System.out.println("請輸入要删除的訂單序号:");
                    int k =sc.nextInt();
                    if(!listName[k-1].equals(null)){
                        for(int m=k-1;m<=l;m++){
                            listName[m] = listName[m+1];
                            listMeal[m] = listMeal[m+1];
                            listNum[m] = listNum[m+1];
                            listTime[m] = listTime[m+1];
                            listAddress[m] = listAddress[m+1];
                            listMoney[m] = listMoney[m+1];
                            listFettle[m] = listFettle[m+1];
                        }
                        listName[l] = null;
                        listMeal[l] = null;
                        listNum[l] = 0;
                        listTime[l] = 0;
                        listAddress[l] = null;
                        listMoney[l] =0.0;
                        listFettle[l] = null;
                        System.out.println("删除訂單成功!");
                    }else{
                        System.out.println("該訂單不存在");
                    }


                    System.out.println("輸入0傳回");
                    comeback = sc.nextInt();
                    break;

                 //點贊系統
                case 5:
                    System.out.println("***我要點贊***");
                    System.out.println("序号\t菜名\t單價");
                    System.out.println("1\t紅燒茄子\t24.0元"+likeNum[0]+"贊");
                    System.out.println("2\t紅燒排骨\t36.0元"+likeNum[1]+"贊");
                    System.out.println("3\t魚香肉絲\t32.0元"+likeNum[2]+"贊");
                    System.out.println("請選擇你要點贊的菜品序号:");
                    int m = sc.nextInt();
                    if(1<=m&&m<=3){
                        likeNum[m-1]++;
                        System.out.println("點贊成功");
                    }else{
                        System.out.println("點贊失敗,請輸入正确的菜品序号");
                    }
                    System.out.println("輸入0傳回");
                    comeback = sc.nextInt();
                    break;
                 //退出
                case 6:
                    System.out.println("謝謝使用,歡迎下次光臨!");
                    comeback =1;
                    break;
            }
        }while (comeback == 0);
    }