Java——吃貨聯盟訂餐系統


public static void main(String[] args) {
        
        String[] names = new String[4];  //訂餐人姓名
        String[] dishMegs = new String[4];  //保存菜品名及份數
        int[] times =new int[4];  //送餐時間
        String[] addresses = new String[4];  //保存送餐地址
        int[] states = new int[4];    //保存訂單狀態: 0表示已預訂,1表示已完成
        double[] sumPrices = new double[4];   //保存訂單的總金額
        
        //初識化訂單信息
        names[0]="張青";
        dishMegs[0]="紅燒帶魚 2份";
        times[0]=12;
        addresses[0]="天成路207號";
        states[0]=1;
        sumPrices[0]=76.0;
        
        names[1]="張青";
        dishMegs[1]="魚香肉絲 2份";
        times[1]=18;
        addresses[1]="天成路207號";
        states[1]=0;
        sumPrices[1]=45.0;
        
        String[] dishNames ={"紅燒帶魚","魚香肉絲","時冷鮮疏"};  //菜單
        double[] prices ={38.0,20.0,10.0};       //價格 
        int[] praiseNums =new int[]{58,45,50};   //點贊數
        
        Scanner input = new Scanner(System.in);
        int num=-1;      //用戶輸入0返回菜單,否則退出
        boolean isExit=false;  //標志用戶是否退出系統;true 為退出系統
        
        System.out.println("\t歡迎使用“吃貨聯盟訂餐系統”");
        auter:
        do{
            System.out.println("**************************************");
            System.out.println("\t  1、我要訂餐");
            System.out.println("\t  2、查看餐袋");
            System.out.println("\t  3、簽收訂單");
            System.out.println("\t  4、刪除訂單");
            System.out.println("\t  5、我要點餐");
            System.out.println("\t  6、退出系統");
            System.out.println("**************************************");
            System.out.println("請選擇:");
            int choose = input.nextInt();
            switch(choose){
                case 1:
                    System.out.println("***我要訂餐***");
                    System.out.println("請輸入訂餐人姓名:");
                    String name=input.next();
                    
                    boolean isAdd = false; //記錄是否可以訂餐
                    for (int i = 0; i < names.length; i++) {
                        if(names[i]==null){
                            isAdd = true;
                            System.out.println("序號\t菜品名稱\t菜品單價\t點贊數");
                            
                            for (int j = 0; j < dishNames.length; j++) {
                                System.out.println((j+1)+"\t"+dishNames[j]+"\t "+prices[j]+"\t "+praiseNums[j]);
                            }
                            
                            System.out.println("請選擇您要點的菜品編號:");
                            int chooseDich = input.nextInt();
                            System.out.println("請選擇您需要的份數:");
                            int number = input.nextInt();
                            
                            //得到訂餐信息
                            String dishMeg=dishNames[chooseDich-1]+" "+number+"";  
                            //訂餐總金額
                            double sumPrice = prices[chooseDich-1] *number;
                            //訂餐滿50元,免送餐費5元
                            double deliCharge =(sumPrice>=50)? 0:5;
                            
                            System.out.println("請輸入送餐時間(送餐時間是10點至20點間整點送餐):");
                            int time = input.nextInt();
                            while(time<10 && time>20){
                                System.out.println("您輸入有誤,請重新輸入10~20間的整數!");
                                time = input.nextInt();
                            }
                            
                            System.out.println("請輸入送餐地址:");
                            String address = input.next();
                            //無需添加狀態,默認為0
                            System.out.println("訂餐成功!");
                            
                            System.out.println("您定的是:"+dishMeg);
                            System.out.println("送餐時間:"+time);
                            System.out.println("餐費:"+sumPrice+"元,送餐費"+deliCharge+"元,總計:"+(sumPrice+deliCharge)+"");
                            System.out.println();
                            //添加數據
                            names[i]=name;
                            dishMegs[i]=dishMeg;
                            times[i]=time;
                            addresses[i]=address;
                            sumPrices[i]=sumPrice+deliCharge;
                            break;
                        }
                    }
                    
                    if(!isAdd){   //
                        System.out.println("對不起,您的餐袋已滿!");
                    }
                    break;
                case 2:
                    System.out.println("***查看餐袋***");
                    System.out.println("序號\t訂餐人\t訂餐信息\t\t送餐時間\t送餐地址\t\t總金額\t訂單狀態");
                    for (int i = 0; i < names.length; i++) {
                        if(names[i]!=null){
                            String state = (states[i]==0)?"已預訂":"已完成";
                                
                            System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs[i]+"\t"+times[i]+"\t"+addresses[i]+"\t"+sumPrices[i]+"\t"+state);
                        }
                    }
                    
                    break;
                case 3:
                    System.out.println("***簽收訂單***");
                    System.out.println("簽收訂單的序號:");
                    int delId=input.nextInt();
                    boolean isSignFind = false;
                    for (int i = 0; i < names.length; i++) {
                        if(names[i]!=null && i ==(delId-1) && states[i]==0){
                            states[i]=1;   //狀態改為 1
                            System.out.println("訂單簽收成功");
                            isSignFind=true;
                            break;
                        }else if(names[i]!=null && i ==(delId-1) && states[i]==1){
                            System.out.println("您選擇的訂單已完成簽收,不能再次簽收!");
                            isSignFind=true;
                        }
                    }
                    if(!isSignFind){   
                        System.out.println("您選擇的訂單不存在!");
                    }
                    break;
                case 4:
                    System.out.println("***刪除訂單***");
                    System.out.println("輸入要刪除的訂單編號:");
                    int dinId=input.nextInt();
                    boolean isDelFind=false;
                    for (int i = 0; i < names.length; i++) {
                        if(names[i]!=null && states[i]==1 && i==(dinId-1)){
                            isDelFind=true;
                            for (int j = i; j < names.length-1; j++) {
                                names[j]=names[j+1];
                                dishMegs[j]=dishMegs[j+1];
                                times[j]=times[j+1];
                                addresses[j]=addresses[j+1];
                                states[j]=states[j+1];
                                sumPrices[j]=sumPrices[j+1];
                            }
                            
                            //數組最后一位清空
                            int endIndex =names.length-1;
                            names[endIndex]=null;
                            dishMegs[endIndex]=null;
                            times[endIndex]=0;
                            addresses[endIndex]=null;
                            states[endIndex]=0;
                            sumPrices[endIndex]=0;
                            System.out.println("刪除訂單成功!");
                            break;
                        }else if(names[i]!=null && states[i]==0 && i==(dinId-1)){
                            System.out.println("您選擇的訂單未簽收,不能刪除!");
                            isDelFind =true;
                            break;
                        }
                    }
                    
                    if(!isDelFind){
                        System.out.println("您要刪除的訂單不存在!");
                    }
                    break;
                case 5:
                    System.out.println("***我要點贊*** ");
                    System.out.println("序號\t菜品名稱\t菜品單價\t點贊數");
                    
                    for (int j = 0; j < dishNames.length; j++) {
                        System.out.println((j+1)+"\t"+dishNames[j]+"\t "+prices[j]+"\t "+praiseNums[j]);
                    }
                    System.out.println("請輸入您要點贊的菜品序號:");
                    int priaiseNum = input.nextInt();
                    praiseNums[priaiseNum-1]+=1;
                    System.out.println("點贊成功!");
                    break;
                case 6:
                    System.out.println("退出系統!");
                    break auter;
                default:
                    isExit=true;
                    break;
            }
            
            if(!isExit){
                System.out.println("輸入0返回");
                num=input.nextInt();
            }
            
        }while(num==0);
        System.out.println("歡迎使用訂餐系統");
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM