zoukankan      html  css  js  c++  java
  • 吃货联盟订餐系统

    package day06;
    import java.util.*;
    public class Demo1 {
        public static void main(String[] args) {
            String[] dishNames = {"红烧带鱼","鱼香肉丝","时令蔬菜"};//菜品名称
            double[] prices = new double[] {38.0,20.0,10.0};//菜品价格
            int[] praiseNums = new int[3];//点赞数
            //存储订单信息
            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[] sumPrieces = new double[4];//保存订单的总金额
    
            Scanner input = new Scanner(System.in);
            int num = -1;//用户输入9时返回主菜单,否则退出系统
            boolean isExit = false;//标志用户是否退出系统;true为退出系统
            System.out.println("
     欢迎使用“吃货联盟订餐系统”");
            //循环,现实菜单,根据用户选择的数字执行相应功能
            do {
                //现实菜单
                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 = 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.print("请输入订单人姓名:");
                                String name =input.next();
                                //显示可以提供选择的菜单
                                System.out.println("序号"+"	"+"菜名"+"	"+"单价"+"	"+"点赞数");
                                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)+"	" +dishNames[i]+"	" +price+ "	" +priaiseNum);
                                }
                                //用户点菜
                                System.out.print("请选择您要点的菜单编号:");
                                int chooseDish = input.nextInt();
                                System.out.print("请选择您需要的份数:");
                                int number =input.nextInt();
                                String dishMeg =dishNames[chooseDish -1]+""+number+"份";
                                double sumPrice =prices[chooseDish -1]*number;
                                //餐费满50元,免送餐费5元
                                double deliCharge = (sumPrice>=50)?0:5;
    
                                System.out.print("请输入送餐时间(送餐时间是10点到20点整点送餐):");
                                int time =input.nextInt();
                                while(time<10|| time>20){
                                    System.out.print("您输入有误,请输入10-20点!");
                                    time =input.nextInt();
                                }
                                System.out.print("请输入送餐地址:");
                                String address =input.next();
    
                                //无需添加状态,默认是0,则为已经预订
                                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;
                                sumPrieces[j] = sumPrice;
                                break;
                            }
                        }
                        if(!isAdd){
                            System.out.println("对不起,您的餐袋已经满了!");
                        }
                        break;
                    case 2:
                        //查看菜单
                        System.out.println("***查看菜单***");
                        System.out.println("序号	 订单人	 餐品信息		 送餐时间	 送餐地址		 总金额	 订单状态");
                        for(int i=0;i<names.length;i++){
                            if(names[i]!=null){
                                String state = (states[i]==0?"已经预定":"已经完成");
                                String date = times[i]+"点";
                                String sumPrice = sumPrieces[i]+"元";
                                System.out.println((i+1)+"	"+names[i]+"	" + dishMegs[i]+"	" +date+"	" +addresses[i]+"" +
                                        "	" +sumPrice+"	" +state);
                            }
                        }
                        break;
                    case 3:
                        //签收订单
                        System.out.println("***签收订单***");
                        boolean isSignFind = false;//找到要签收的订单
                        System.out.print("请选择要签收的订单序号:");
                        int signOrderId = input.nextInt();
                        for(int i = 0;i<names.length;i++){
                            //订单状态为预订,序号为用户输入的订单号减1,可签收
                            //订单状态为完成,序号为用户输入的订单号减1,不可签收
                            if(names[i]!=null&& states[i]==0&&signOrderId==i+1){
                                states[i] =1;
                                    System.out.println("订单已经签收成功!");
                                    isSignFind = true;
                            }else if(names[i]!=null && states[i]==1 && signOrderId==i+1){
                                System.out.println("你选择的订单已经完成签收,不能再次签收!");
                                isSignFind = true;
                            }
                        }
                        //未找到的订单序号,不能签收
                        if(!isSignFind){
                            System.out.println("您选择的订单不存在!");
                        }
                        break;
                    case 4:
                        //删除订单
                        System.out.println("***删除订单***");
                        boolean isDelFind = false;
                        System.out.print("请输入要删除的订单序号:");
                        int delId = input.nextInt();
                        for(int i =0;i<names.length;i++){
                            //状态值为已完成,序号值为用户输入的序号减1,可删除
                            //状态值为已经预定,序号值为用户输入的序号减1,不可删除
                            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];
                                    sumPrieces[j] = sumPrieces[j+1];
                                }
                                //最后一位清空
                                int endIndex = names.length-1;
                                names[endIndex] = null;
                                dishMegs[endIndex] = null;
                                times[endIndex] = 0;
                                addresses[endIndex] = null;
                                states[endIndex] = 0;
                                sumPrieces[endIndex] = 0;
                                System.out.println("删除订单成功!");
                                break;
                            }
                        }
                        //未找到订单序号,不能删除!
                        if(!isDelFind){
                            System.out.println("您要删除的订单不存在!");
                        }
                        break;
                    case 5:
                        //我要点赞
                        System.out.println("***我要点赞***");
                        //显示菜单名
                        System.out.println("序号"+"	"+"菜名"+"	"+"单价");
                        for(int i =0;i<dishNames.length;i++){
                            String price = prices[i] + "元";
                            String priaiseNum = (praiseNums[i])>0?praiseNums[i] +"赞":"";
                            System.out.println((i+1)+"	" + dishNames[i]+"	" +price+"	" +priaiseNum);
                        }
                        System.out.print("请选择您要点赞的菜品序号:");
                        int priaiseNum = input.nextInt();
                        praiseNums[priaiseNum-1]++;//点赞数加1
                        System.out.println("点赞成功!");
                        break;
                    case 6:
                        //退出系统
                        isExit =true;
                System.out.println("欢迎下次再使用!!!祝你贪吃不胖!!!");
    break; default: isExit=true; break; } if(!isExit){ System.out.print("输入0返回:"); num =input.nextInt(); }else { break; } }while (num == 0); } }

  • 相关阅读:
    HTML5(一)初识HTML5
    iOS手机流量抓包rvictl
    mysql 安全模式
    DNS解析
    Git删除文件
    Git创建本地仓库并推送至远程仓库
    【python】字典/dictionary操作
    Gson解析复杂JSON字符串的两种方式
    apk安装提示:Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=XXX]
    su、sudo、su
  • 原文地址:https://www.cnblogs.com/zhangbupang/p/11135334.html
Copyright © 2011-2022 走看看