java实现简易外卖订餐系统

 更新时间:2021年10月04日 10:25:07   作者:Вадим  
这篇文章主要为大家详细介绍了java实现简易外卖订餐系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

用java实现简易外卖订餐系统,供大家参考,具体内容如下

一、使用技术

javaSE

二、实现功能

外卖订餐系统

具体要求如下:

使用选择结构,循环结构,数组的知识实现一个外卖订餐系统

三、运行效果图

1.订餐功能

2.查看餐袋

3.签收订单

4.删除订单

5.点赞

6.退出

代码实现

public class Order {
    public static void main(String[] args) {
        int zero = 1;
        int x = 0;//订单数组下标

        String[] name = new String[100];
        int[] time = new int[100];//点餐时间
        String[] menu = new String[100];
        double[] price = new double[100];
        int[] od = new int[100];//订单序号
        String[] adress = new String[100];//送餐地址
        int[] menuNum = new int[100];//点菜份数
        String[] yuDing = new String[100];//订单状态

        int a = 0;//点赞数
        int b = 0;//点赞数
        int c = 0;//点赞数
        int panduan = 0;//判断是否有此订单
        Scanner sc = new Scanner(System.in);
        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 num = sc.nextInt();
            while (num < 1 || num > 6) {
                System.out.println("您输入的选项没有,重新输入");
                num = sc.nextInt();
            }
            if (num == 1) {
                od[x] = x + 1;
                yuDing[x] = "已预订";
                System.out.println("***我要订餐***");
                System.out.println("请输入订餐人姓名:");
                name[x] = sc.next();
                System.out.println("序号" + "          " + "菜名" + "           " + "单价");
                System.out.println(1 + "    " + "红烧茄子" + "    " + 24.00);
                System.out.println(2 + "    " + "糖醋排骨" + "    " + 36.00);
                System.out.println(3 + "    " + "鱼香肉丝" + "    " + 32.00);
                System.out.println("请选择您想要点的菜品编号:");
                int bianHao = sc.nextInt();
                while (bianHao < 1 || bianHao > 3) {
                    System.out.println("您选择的菜品没有,再次输入");
                    bianHao = sc.nextInt();
                }

                if (bianHao == 1) {
                    menu[x] = "红烧茄子";
                    price[x] = 24.00;
                } else if (bianHao == 2) {
                    menu[x] = "糖醋排骨";
                    price[x] = 36.00;
                } else if (bianHao == 3) {
                    menu[x] = "鱼香肉丝";
                    price[x] = 32.00;
                }
                System.out.println("请选择您需要的份数:");
                menuNum[x] = sc.nextInt();
                while (menuNum[x] < 1) {
                    System.out.println("您输入的数量不合法,再次选择");
                    menuNum[x] = sc.nextInt();
                }

                System.out.println("请选输入送餐时间(送餐时间是10点至20点间整点送餐):");
                time[x] = sc.nextInt();
                while (time[x] < 10 || time[x] > 20) {
                    System.out.println("您选择的时间不在送餐时间内,再次选择");
                    time[x] = sc.nextInt();
                }

                System.out.println("请输入送餐地址");
                adress[x] = sc.next();

                System.out.println("订餐成功!!!");
                System.out.println("您订的是:" + menu[x] + " " + menuNum[x] + "份");
                System.out.println("送餐时间:" + time[x] + "点");
                System.out.println("餐费:" + menuNum[x] * price[x] + "元" + " "
                        + "送餐费:6元" + " " + "总计:" + (menuNum[x] * price[x] + 6) + "元");

                System.out.println("输入0返回:");
                zero = sc.nextInt();
                while (zero != 0) {
                    System.out.println("输入错误,再次输入");
                    zero = sc.nextInt();
                }

                x++;
            } else if (num == 2) {
                zero = 1;

                System.out.println("***查看餐带***");
                System.out.println("序号" + "          " + "订餐人" + "        " + "餐品信息"
                        + "           " + "送餐时间" + "          " + "送餐地址"
                        + "            " + "总金额" + "           " + "订单状态");
                for (int i = 0; i < x; i++) {
                    if (od[i] != -1) {
                        System.out.println(od[i] + "      " + name[i] + "      " + menu[i]
                                + "       " + time[i] + "        " + adress[i]
                                + "       " + (menuNum[i] * price[i] + 6)
                                + "       " + yuDing[i]);
                    }
                }

                System.out.println("输入0返回:");
                zero = sc.nextInt();
                while (zero != 0) {
                    System.out.println("输入错误,再次输入");
                    zero = sc.nextInt();
                }
            } else if (num == 3) {
                zero = 1;

                System.out.println("***签收订单***");
                System.out.println("请选择要签收的订单的序号:");
                int numc = sc.nextInt();
                for (int i = 0; i < od.length; i++) {
                    if (numc == od[i]) {
                        yuDing[i] = "已签收";
                        System.out.println("订单签收成功!");
                        panduan = 1;
                    }
                }
                if (panduan != 1) {
                    System.out.println("无此订单");
                }


                System.out.println("输入0返回:");
                zero = sc.nextInt();
                while (zero != 0) {
                    System.out.println("输入错误,再次输入");
                    zero = sc.nextInt();
                }
            } else if (num == 4) {
                zero = 1;
                panduan = 0;
                System.out.println("***删除订单***");
                System.out.println("请选择要删除的订单的序号:");
                int numd = sc.nextInt();
                for (int i = 0; i < od.length; i++) {
                    if (numd == od[i]) {
                        od[i] = -1;
                        System.out.println("订单删除成功!");
                        panduan = 1;
                    }
                }
                if (panduan != 1) {
                    System.out.println("无此订单");
                }
                System.out.println("输入0返回:");
                zero = sc.nextInt();
                while (zero != 0) {
                    System.out.println("输入错误,再次输入");
                    zero = sc.nextInt();
                }
            } else if (num == 5) {
                zero = 1;
                System.out.println("***我要点赞***");
                System.out.println("序号" + "          " + "菜名" + "           " + "单价");
                System.out.println(1 + "    " + "红烧茄子" + "    " + 24.00 + " " + a + "赞");
                System.out.println(2 + "    " + "糖醋排骨" + "    " + 36.00 + " " + b + "赞");
                System.out.println(3 + "    " + "鱼香肉丝" + "    " + 32.00 + " " + c + "赞");
                System.out.println("请选择要点赞的菜品的序号:");
                int zan = sc.nextInt();
                while (zan < 1 || zan > 3) {
                    System.out.println("您输入的序号错误,再次输入");
                    zan = sc.nextInt();
                }
                if (zan == 1) {
                    a++;
                } else if (zan == 2) {
                    b++;
                } else if (zan == 3) {
                    c++;
                }


                System.out.println("输入0返回:");
                zero = sc.nextInt();
                while (zero != 0) {
                    System.out.println("输入错误,再次输入");
                    zero = sc.nextInt();
                }
            } else if (num == 6) {
                zero = 1;
                System.out.println("谢谢使用,欢迎下次光临!");
                return;
            }

        } while (zero == 0);

    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java实现PDF文件的分割与加密功能

    Java实现PDF文件的分割与加密功能

    这篇文章主要为大家分享了如何利用Java语言实现PDF文件的分割与加密以及封面图的生成,文中的示例代码简洁易懂,感兴趣的可以了解一下
    2022-04-04
  • Java 实现万年历总结

    Java 实现万年历总结

    这篇文章主要介绍了Java 万年历实现代码的相关资料,需要的朋友可以参考下
    2016-09-09
  • Spring Boot之内嵌tomcat版本升级操作示例

    Spring Boot之内嵌tomcat版本升级操作示例

    这篇文章主要为大家介绍了Spring Boot之内嵌tomcat版本升级操作示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Java中的static关键字深入理解

    Java中的static关键字深入理解

    这篇文章主要介绍了Java中的static关键字深入理解,文字和代码列举了实际例子,有感兴趣的同学可以研究下
    2021-03-03
  • Spring rest接口中的LocalDateTime日期类型转时间戳

    Spring rest接口中的LocalDateTime日期类型转时间戳

    这篇文章主要介绍了Spring rest接口中的LocalDateTime日期类型转时间戳的方法,Java程序中一般将日期类型定义为LocalDateTime,数据库中保存的时间是0时区的时间
    2023-03-03
  • Mybatis的介绍、基本使用、高级使用

    Mybatis的介绍、基本使用、高级使用

    这篇文章主要介绍了Mybatis的介绍、基本使用、高级使用,Mybatis是一款半自动的ORM持久层框架,具有较高的SQL灵活性,如何使用看这篇就够了,需要的朋友可以参考下
    2023-03-03
  • Mybatis 中的sql批量修改方法实现

    Mybatis 中的sql批量修改方法实现

    在项目中遇到需要批量更新的功能,原本想的是在Java中用循环访问数据库去更新,但是心里总觉得这样做会不会太频繁了,太耗费资源了,效率也很低,查了下mybatis的批量操作,原来确实有<foreach>标签可以做到,下面通过本文给大家介绍下
    2017-01-01
  • java正则表达式对特殊字符的转义以及异常现象

    java正则表达式对特殊字符的转义以及异常现象

    这篇文章主要给大家介绍了关于java正则表达式对特殊字符的转义以及异常现象的相关资料,在Java中使用正则表达式匹配特殊字符也需要使用转义字符"\",需要的朋友可以参考下
    2023-06-06
  • springboot数据库密码加密的配置方法

    springboot数据库密码加密的配置方法

    这篇文章主要给大家介绍了关于springboot数据库密码加密的配置方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Spring Boot使用AOP防止重复提交的方法示例

    Spring Boot使用AOP防止重复提交的方法示例

    这篇文章主要介绍了Spring Boot使用AOP防止重复提交的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05

最新评论