作业:吃货联盟

package com.bd22;

import java.util.Scanner;

/*
 * 欢迎使用“吃货联盟订餐系统
 * 1.我要订餐
 * 2.查看餐袋
 * 3.签收订单
 * 4.删除订单
 * 5.我要点赞
 * 6.退出系统
 */
public class Work1 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num = -1;
        boolean isExit = false;
        String[]names = new String[4];
        String[]dishMegs = new String[4];
        int[]times = new int[4];
        String[]addresses = new String[4];
        String[]dishNames = {"红烧带鱼","鱼香肉丝","时令鲜蔬"};
        double[]prices = new double[] {38.0,20.0,10.0};
        int[]praiseNums =new int[3];
        int[]states = new int[4];//保存订单状态:0已经预定;1已经完成
        double[]sumPrices = new double[4];
        System.out.println("欢迎使用“吃货联盟订餐系统”");
        do {
            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("请选择:");
            int choose = input.nextInt();
            switch(choose){
            case 1:
                System.out.println("我要订餐");
                Boolean isAdd = false;
                for(int j = 0;j<names.length;j++) {
                    if(names[j]==null) {
                        isAdd = true;
                        System.out.println("请输入订餐人姓名:");
                        String name = input.next();
                        System.out.println("序号"+"\t"+"菜名"+"\t"+"单价"+"\t"+"点赞数");
                        for(int i= 0;i<dishNames.length;i++) {
                            String price =prices[i]+"";
                            String priaiseNum =(praiseNums[i])>0?praiseNums[i]+"":"0";
                            System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+priaiseNum);
                        }
                        System.out.println("请选择您要点的菜品编号:");
                        int chooseDish = input.nextInt();
                        System.out.println("请选择您需要的份数:");
                        int number = input.nextInt();
                        String dishMeg = dishNames[chooseDish-1]+""+number+"";
                        double sumPrice = prices[chooseDish-1]*number;
                        double deliCharge = 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();
                        System.out.println("订餐成功!");
                        System.out.println("您订的是:"+dishMeg);
                        System.out.println("送餐时间为"+time+"");
                        System.out.println("餐费为:"+sumPrice+"元,送餐费"+deliCharge+"元,总价:"+(sumPrice+deliCharge)+"元。");
                        names[j]=name;
                        dishMegs[j]=dishMeg;
                        times[j]=time;
                        addresses[j]=address;
                        sumPrices[j]=sumPrice+deliCharge;
                        break;
                    }
                    if(!isAdd) {
                        System.out.println("对不起,您的餐袋已满!");
                    }
                    break;
                }
                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)?"已经预定":"已经完成";
                        String date = times[i]+"";
                        String sumPrice = sumPrices[i]+"";
                        System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs[i]+"\t\t"+date+"\t"+addresses[i]+"\t\t"+sumPrice+"\t"+state);
                    }
                }
                break;
            case 3:
                System.out.println("签收订单");
                boolean isSignFind = false;
                System.out.println("请选择要签收的订单序号:");
                int signOrderld = input.nextInt();
                for(int i =0;i<names.length;i++) {
                    if(names[i]!=null&&states[i]==0&&signOrderld==i+1) {
                        states[i]=1;
                        System.out.println("订单签收成功!");
                        isSignFind = true;
                    }else if(names[i]!=null&&states[i]==1&&signOrderld==i+1) {
                        System.out.println("您选择的订单已签收,不能再次签收!");
                        isSignFind = true;
                    }
                }
                if(!isSignFind) {
                    System.out.println("您选择的订单不存在!");
                }
                break;
            case 4:
                System.out.println("删除订单");
                boolean isDelFind = false;
                System.out.println("请输入要删除的订单序号:");
                int delId = input.nextInt();
                for(int i = 0;i<names.length;i++) {
                    if(names[i]!=null&&states[i]==1&&delId==i+1) {
                        isDelFind = true;
                        for(int j =delId-1;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&&delId==i+1) {
                        System.out.println("您选择的订单未签收,不能删除!");
                        isDelFind = true;
                        break;
                    }
                }
                if(!isDelFind) {
                    System.out.println("您要删除的订单不存在!");
                }
                break;
            case 5:
                System.out.println("我要点赞");
                System.out.println("序号"+"\t"+"菜名"+"\t"+"单价");
                for(int i = 0;i<dishNames.length;i++) {
                    String price = prices[i]+"";
                    String priaiseNum =(praiseNums[i])>0?praiseNums[i]+"":"";
                    System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+priaiseNum);
                }
                System.out.println("请选择您要点赞的菜品序号:");
                int priaiseNum = input.nextInt();
                praiseNums[priaiseNum-1]++;
                System.out.println("点赞成功!");
                break;
            case 6:
                isExit = true;
                break;
            default:
                isExit = true;
                System.out.println("您的输入有误系统已崩溃,如需使用请重启系统");
                break;
            }
            if(!isExit) {
                System.out.println("输入0返回:");
                num = input.nextInt();
            }else {
                break;
            }
        }while(num==0);
    }
}

 

posted @ 2019-01-07 19:04  JAVA开发新人  阅读(247)  评论(0编辑  收藏  举报