Java基础编程综合项目——基于do-while结构下的简单订餐系统的实现

一、项目背景:

  现在校园外卖平台开始兴起,大学生在校创业门槛降低。市场需要一款成本低廉且简单好用的外卖订餐系统,所以本系统应运而生。

二、项目需求分析

  本系统开发兼顾开发成本和大学生群体用户体验,将功能分为以下六种:1、订餐模块2、查看餐袋模块3、签收订单模块4、删除订单模块5、点赞菜品模块6、退出模块

三、开发与运行环境

本系统基于Idea集成开发工具平台开发,采用JDK1.8版本编译运行。

四、模块概述与源码
1、订餐模块
System.out.println("***我要订餐***");
                double pay = 0.0;
                double postPay = 5.0;
                boolean flag = false;

                for(int i =0; i<names.length;i++){
                    if(names[i] == null){
                        flag = true;
                        states[i] = 0;
                        System.out.print("请输入订餐人姓名:");
                        String name = input.next();
                        names[i] = name;
                        System.out.println("序号\t菜名\t\t单价\t点赞数\t");
                        for(int j = 0;j < menu.length;j++){
                            if(menu != null){
                                System.out.println(j+1 + "\t" +"\t"+ menu[j] +"\t"+"\t"+price[j]+"元"+"\t"+count[j]);
                            }
                        }
                        System.out.print("请输入您要点的菜品编号:");
                        int a = input.nextInt();
                        System.out.print("请选择您需要的份数:");
                        int b = input.nextInt();
                        while(true) {
                            System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
                            times[i] = input.nextInt();
                            if (times[i] <= 20 && times[i] >= 10) {
                                break;
                            }else{
                                System.out.println("请输入正确的送餐时间!");
                            }
                        }
                        System.out.print("请输入送餐地址:");
                        addresses[i] = input.next();
                        pay = price[a-1] * b;
                        if(pay >= 50){
                            postPay = 0.0;
                        }
                        sumPrices[i] = pay+postPay;
                        //java数组之间直接读入
                        dishMegs[i] = menu[a-1]+" "+b+"份";
                        System.out.println("订餐成功!");
                        System.out.println("您定的是:"+menu[a-1]+" "+b+"份");
                        System.out.println("送餐时间:"+times[i]+"点");
                        System.out.println("餐费:"+pay+"元"+","+"送餐费"+postPay+"元"+","+"总计:"+sumPrices[i]+"元");

                        System.out.print("输入0返回:");
                        while (true) {
                            selectNum = input.nextInt();
                            if (selectNum == 0) {
                                break;
                            } else {
                                System.out.println("非法操作,请正确输入!");
                                System.out.print("输入0返回:");
                            }
                        }
                        break;
                    }
                }
                if(flag == false){
                    System.out.println("您的餐袋已满!");
                }

                break;
2、查看餐袋模块
System.out.println("***查看餐袋***");

                 System.out.println("序号\t订餐人\t餐品信息\t\t送餐时间\t\t送餐地址\t\t总金额\t订单状态");
                 for (int i = 0; i < names.length; i++) {
                     String statesName = null;
                     if (states[i] == 1) {
                         statesName = "已完成";
                     } else {
                         statesName = "未完成";
                     }
                     if (names[i] != null) {
                         System.out.println(i + 1 + "\t" + "\t" + names[i] + "\t" + dishMegs[i] + "\t" + times[i] + "点" + "\t" + "\t" + addresses[i] + "\t" + sumPrices[i] + "元" + "\t" + statesName);
                     } else {
                         break;
                     }
                 }

                System.out.print("输入0返回:");
                while (true) {
                    selectNum = input.nextInt();
                    if (selectNum == 0) {
                        break;
                    } else {
                        System.out.println("非法操作,请正确输入!");
                        System.out.print("输入0返回:");
                    }
                }

                break;
                
3、签收订单模块
System.out.println("***签收订单***");
                System.out.println("请输入要签收的订单:");
                int isSignFind = input.nextInt();
                for(int i = 0;i<names.length;i++){
                    if(names[i] != null && isSignFind == i + 1 && states[i] == 0){
                        states[i] = 1;
                        System.out.println("您的订单已签收!");
                        break;
                    }else{
                        System.out.println("请检查您的订单序号!");
                    }
                }

                System.out.print("输入0返回:");
                while (true) {
                    selectNum = input.nextInt();
                    if (selectNum == 0) {
                        break;
                    } else {
                        System.out.println("非法操作,请正确输入!");
                        System.out.print("输入0返回:");
                    }
                }

                break;
                
4、删除订单模块
 System.out.println("***删除订单***");
                System.out.println("请输入要删除的订单号:");
                int isNumDelete = input.nextInt();
                boolean deletePoint = false;

                for(int i = 0;i < names.length;i++){
                    if(names[i] != null && isNumDelete == i+1){
                        System.out.println("已找到要删除的订单号:" + (1+i) + "号");
                        deletePoint = 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];
                            sumPrices[j] = sumPrices[j+1];
                            states[j] = states[j+1];
                        }
                        names[names.length-1] = null;
                        break;
                    }
                }
                if(deletePoint == false){
                    System.out.println("未找到您输入的订单号!");
                }

                System.out.print("输入0返回:");
                while (true) {
                    selectNum = input.nextInt();
                    if (selectNum == 0) {
                        break;
                    } else {
                        System.out.println("非法操作,请正确输入!");
                        System.out.print("输入0返回:");
                    }
                }

                break;
                
5、菜品点赞模块
System.out.println("***我要点赞***");
                System.out.println("序号\t菜名\t\t单价\t点赞数\t");
                for(int j = 0;j < menu.length;j++){
                    if(menu != null){
                        System.out.println(j+1 + "\t" +"\t"+ menu[j] +"\t"+"\t"+price[j]+"元"+"\t"+count[j]);
                    }
                }
                System.out.print("请您输入要点赞的菜品序号:");
                int isCount = input.nextInt();
                if(isCount <= menu.length){
                    count[isCount-1]++;
                    System.out.println("您给" + isCount +"号菜品点赞成功!");
                }else{
                    System.out.println("您输入的菜品编号有误!");
                }

                System.out.print("输入0返回:");
                while (true) {
                    selectNum = input.nextInt();
                    if (selectNum == 0) {
                        break;
                    } else {
                        System.out.println("非法操作,请正确输入!");
                        System.out.print("输入0返回:");
                    }
                }

                break;
                
6、系统退出模块
if(selectNum == 0){
            continue;
        }else{
            System.out.println("谢谢使用,欢迎下次光临!");
            break;
        }
        
五、项目总结

  本系统完全运用Java基本语法来实现,基本满足大学生群体的校园外卖平台点餐需求。

全部评论

相关推荐

求实习的小白1213:华科去这 你是真敢去啊
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务