通过在一个项目里创建了一个包,然后创建了三个类,然后一个为主函数,为系统的入口,一个用来存放订单信息,一个用来存放系统中实现各种功能的方法。

难点1:订单中的时间,需要创建一个dateformat类,然后用simpledateformat来将其格式转变,之后再转化成strring类型返回,虽然我没能实现这个

难点2:订单信息的存放,较好的方法是自定义创建数组,然后其中放置信息,我是强行装入数组,用的基本数据类型数组,到后面调用时就显得有问题了

难点3:签收订单和删除订单是在类里独立的两个方法,所以删除订单时,后台所收到的只有之前初始化所得到的未完成的订单,才可以删除,但是操作进行的签收订单的并没有接收到,所以只可以删除第一个初始化的未完成的订单

package myshixun720;

/**
 * 主函数,进行订餐系统的使用
 * @author cc
 * 
 *
 */

public class OrderingStart {
    public static void main(String[] args) {

OrderingUtil otm=new OrderingUtil();
        otm.startMenu();
    }

}

package myshixun720;

/**
 * 吃货联盟订餐系统的订单信息
 * @author cc
 * @version v1.1.1
 *
 */
public class OrderingSet {
    /**
     * 用数组
     */
    String []name=new String[4];                  //名字
    String []dishMegs=new String[4];              //菜
    String [] time =new String[4];                      //日期
    String []address=new String[4];               //地址
    int []states=new int[4];                      //订单状态
    double []sumPrices=new double[4];             //订单总金额
    
    String[] dishNames = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬" }; 
    double[] prices = new double[] { 38.0, 20.0, 10.0 }; 
    int[] praiseNums = new int[3];

}

package myshixun720;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
/**
 * 订餐系统的内部主要内容,包含所有的方法和功能
 * @author  cc
 *
 */
public class OrderingUtil {
    // 创建一个菜品的数组
    // Dish[] disharray=new Dish[3];
    
    Scanner input = new Scanner(System.in);
    OrderingSet oSet = new OrderingSet();
    
    
    /**
     * 初始化订单信息,初始化原先的两条订单信息
     */
    public void initial() {
        // Dish d=new Dish();
        // d.name="红烧带鱼";
        // d.price=38.0;
        // d.num=0;
        // disharray[0]=d;
        //
        // Dish d1=new Dish();
        // d1.name="红烧带鱼";
        // d1.price=38.0;
        // d1.num=0;
        // disharray[1]=d1;
        //
        // Dish d2=new Dish();
        // d2.name="红烧带鱼";
        // d2.price=38.0;
        // d2.num=0;
        // disharray[2]=d2;

oSet.name[0] = "张晴";
        oSet.dishMegs[0] = "红烧带鱼 2份";
        oSet.time[0] = dateFormat(new Date());
        oSet.address[0] = "天成路207号";
        oSet.sumPrices[0] = 76.0;
        oSet.states[0] = 1;

oSet.name[1] = "张晴";
        oSet.dishMegs[1] = "鱼香肉丝 2份";
        oSet.time[1] = dateFormat(new Date());
        oSet.address[1] = "天成路207号";
        oSet.sumPrices[1] = 20.0;
        oSet.states[1] = 0;

}

/**
     * 将日期进行简易的输出格式的转换
     * 
     * @param date
     * @return
     */
    public String dateFormat(Date date) {
        SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return sim.format(date);
    }

/**
     * 菜单切换,其中使用各个方法来实现功能
     * 
     * @param n
     */
    public void startMenu() {    
        System.out.println("欢迎进入吃货联盟系统");
        initial();
        welcome();
        lab: while (true) {
            System.out.println("请选择:");  //用循环来实现系统的循环切换
            int choose = input.nextInt();
            switch (choose) {
            case 1:
                orderingDish();
                break;
            case 2:
                watchProcess();
                break;
            case 3:
                sign();
                break;
            case 4:
                delete();
                break;
            case 5:
                praise();
                break;

default:
                break lab;
            }
        }
    }
    
    /**
     * 进入系统的界面显示
     */
    public void welcome() {
        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("****************************");
        
    }

/**
     * 订餐功能的方法
     */
    public void orderingDish() {
        System.out.println("***我要订餐***");
        System.out.print("请输入订餐人姓名:");
        String name = input.next();

int j = 0;
        for (; j < oSet.name.length; j++) {
            if (oSet.name[j] == null) {
                oSet.name[j] = name;
                break;
            }
        }
        System.out.println("序号" + "\t" + "菜品名" + "\t" + "价格"+"\t"+"点赞数");
        for (int i = 0; i < oSet.dishNames.length; i++) {
            System.out.print(i + 1 + "\t" + oSet.dishNames[i] + "\t" + oSet.prices[i] +"\t"+oSet.praiseNums[i]+ "\n");
        }
        System.out.print("请输入菜品编号:");
        int dishNum = input.nextInt();
        System.out.print("请输入菜品数量:");
        int dishCnt = input.nextInt();
        String dishMeg = oSet.dishNames[dishNum - 1] + dishCnt + "份";
        oSet.dishMegs[j] = dishMeg;
        System.out.print("请输入收货地址:");
        String Addr = input.next();
        oSet.address[j] = Addr;
        double sumPrice = oSet.prices[dishNum - 1] * dishCnt;
        double Charge = (sumPrice > 50) ? 0 : 5;
        System.out.println("餐费:" + sumPrice + "元,送餐费:" + Charge + "元,总计:" + (sumPrice + Charge) + "元。");
        oSet.sumPrices[j] = sumPrice + Charge;
    }

/**
     * 查看餐袋的方法
     */
    public void watchProcess() {
        System.out.println("***查看餐袋***");
        System.out.println("序号\t订餐人\t餐品信息\t\t送餐地址\t\t总金额\t订单状态");
        for (int i = 0;oSet.name[i]!=null ; i++) {
            String zt = (oSet.states[i] == 1) ? "完成" : "未完成";
            System.out.print((i + 1) + "\t" + oSet.name[i] + "\t" + oSet.dishMegs[i]  + "\t" + oSet.address[i]
                    + "\t" + oSet.sumPrices[i] + "\t" + zt + "\n");
        }
    }
    
    /**
     * 签收订单的方法
     */
    public void sign() {
        System.out.println("***签收订单***");
        System.out.println("序号\t订餐人\t餐品信息\t\t送餐地址\t\t总金额\t订单状态");
        for (int i = 0; oSet.name[i] != null; i++) {
            String zt = (oSet.states[i] == 1) ? "完成" : "未完成";
            System.out.print((i + 1) + "\t" + oSet.name[i] + "\t" + oSet.dishMegs[i] + "\t" + "\t"
                    + oSet.address[i] + "\t" + oSet.sumPrices[i] + "\t" + zt + "\n");
        }
        System.out.print("请选择要签收的订单序号:");
        int n = input.nextInt();
        oSet.states[n - 1] = 1;
        System.out.println("签收成功");
        System.out.println("序号\t订餐人\t餐品信息\t\t送餐地址\t\t总金额\t订单状态");
        for (int i = 0; oSet.name[i] != null; i++) {
            String zt = (oSet.states[i] == 1) ? "完成" : "未完成";
            System.out.print((i + 1) + "\t" + oSet.name[i] + "\t" + oSet.dishMegs[i] + "\t" + "\t"
                    + oSet.address[i] + "\t" + oSet.sumPrices[i] + "\t" + zt + "\n");
        }
    }
    
    /**
     * 删除订单的方法
     */
    public void delete() {
        System.out.println("***删除订单***");
        System.out.print("请输入要删除的订单序号:");
        int i=input.nextInt();
        if (oSet.states[i]==1) {
            for(int j=i-1;j<oSet.name.length-1;j++) {
                oSet.name[j] = oSet.name[j+1];
                oSet.dishMegs[j] = oSet.dishMegs[j+1];
                oSet.time[j] = oSet.time[j+1];
                oSet.address[j] = oSet.address[j+1];
                oSet.states[j] = oSet.states[j+1];
                oSet.sumPrices[j] = oSet.sumPrices[j+1];
                int nu = oSet.name.length-1;
                oSet.name[nu] = null;
                oSet.dishMegs[nu] = null;
                oSet.address[nu] = null;
                oSet.states[nu] = 0;
            }System.out.println("删除成功");
        }
            else if(oSet.states[i]==0){
                System.out.println("您选择的订单未签收,不能删除");
            }
             else {
                 System.out.println("不存在指定的订单");
        }
    }
    /**
     * 进行点赞的方法
     */
    public void praise() {
        System.out.println("--------我要点赞----------");
        System.out.println("序号" + "\t" + "菜品名" + "\t" + "价格"+"\t"+"点赞数");
        for (int i = 0; i < oSet.dishNames.length; i++) {
            System.out.print(i + 1 + "\t" + oSet.dishNames[i] + "\t" + oSet.prices[i] +"\t"+oSet.praiseNums[i]+ "\n");
        }
        System.out.println("请输入想要点赞的菜品的序号");
        int p=input.nextInt();
        oSet.praiseNums[p-1]+=1;
        for (int i = 0; i < oSet.dishNames.length; i++) {
            System.out.print(i + 1 + "\t" + oSet.dishNames[i] + "\t" + oSet.prices[i] +"\t"+oSet.praiseNums[i]+ "\n");
        }
        
        
    }
    
}

JAVA订餐系统的心得体会相关推荐

  1. 在线订餐系统php心得体会_基于PHP技术的网络订餐系统设计与实现

    龙源期刊网 http://www.qikan.com.cn 基于 PHP 技术的网络订餐系统设计与实现 作者:张华南 来源:<电脑知识与技术> 2015 年第 21 期 摘要:随着网络技术 ...

  2. java实验2总结心得,打字小游戏JAVA实验总结及心得体会

    篇一:扫雷游戏实验报告 课程设计 班 级: 姓 名: 学 号: 指导教师: 成 绩: 电子与信息工程学院信息与通信工程系 目录 1.任务概述------------------------------ ...

  3. linux系统编程心得体会范文大全,编程心得体会范文

    编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程.下面是学习啦带来的编程的心得体会范文,欢迎欣赏. C语言是在国内外广泛使用的一种计算机语言.其语言功能丰富. ...

  4. java订餐系统_Java实现简单订餐系统

    import java.util.Scanner; import java.util.*; public class OrderingMsg { public static void main(Str ...

  5. “产品录入系统” 开发 心得体会

    用Unity制作"产品录入系统" 数据上传LeanCould数据库 软件开发心得体会 前段时间经历过了两周的彻夜奋战,我和老师以及另外一个同学的协作下帮助客户完成开发了一款产品录入 ...

  6. 关于 java 学习的一点心得体会

    我是学信管专业的,这学期除了学习了 java 软件开发综合实验这 门选修课外,还有自己本专业要学的 java 面向对象的程序设计.学习 了近一学期的 java 课程,觉得是该总结自己的心得体会了.开始 ...

  7. java 绘制图形实验心得体会_绘图实习心得体会3篇

    所谓绘图,就是绘制图片.图纸的意思.通常用于建筑绘图,产品绘制等等.下面是学习啦,为大家准备的绘图实习心得体会范文,希望大家喜欢! 本以为暑期实习能走出校门到外面游历见识一番,却不知所谓的实习只是呆在 ...

  8. java订餐系统_Java——吃货联盟订餐系统

    public static voidmain(String[] args) { String[] names= new String[4]; //订餐人姓名 String[] dishMegs = n ...

  9. 计算机会计核算系统实验心得体会,会计核算模拟实验心得体会样本

    会计核算模拟实验心得体会 姓名 学号 不知不觉会计模拟实验已经结束了,会计模拟试验采用的是计算机会计软件系统,在上课过程中,我认真练习,勤于思考,通过软件学习学会了会计工作的整个流程,进行了原始凭证. ...

最新文章

  1. leetcode-155 最小栈
  2. 蓝牙写入数据库_蓝牙 数据写入 简单易懂版(适合没写过蓝牙的看)
  3. boost::spirit模块实现展示不同容器类型的输出格式化的统一和简单的方法
  4. php 利用fsockopen GET/POST 提交表单及上传文件
  5. 搭载鸿蒙os的电脑,全新华为 MatePad Pro 发布在即:搭载鸿蒙系统
  6. 知识图谱-命名实体-关系-免费标注工具-快速打标签-Python3
  7. Nvme协议固态装纯净win10系统
  8. 英语报纸计算机类,报纸和电脑英语作文
  9. 【Java】面向对象(二)继承
  10. Capture web with FireShot
  11. 关于glew.h / glut.h引用【转】
  12. 微信服务器保留几年记录_企业微信朋友圈管理的工具
  13. 关于Java的位移运算
  14. 【system】利用Diskpart命令(cmd)解决装机分区格式不对,增大C盘空间问题
  15. [sig16]Real-time Rendering on a Power Budget
  16. excel服务器几个小但是让人抓狂的小问题的解决办法
  17. 美泰推出首款获CarbonNeutral(R)认证的Matchbox(R) Tesla Roadster压铸模型车,使用9
  18. $.extend()
  19. 压枪源码,移动鼠标源码,监听鼠标源码,控制鼠标移动源码,控制鼠标移动脚本
  20. python pptx库教程_python-pptx的基本使用

热门文章

  1. 扎心!原来在月薪3000和30000的差距竟是这样
  2. 基于SnapDragonBoard410c内置文佳到System
  3. PYQT5(13)-基本窗口控件-拖曳与剪贴板
  4. java连接access数据库的三种方式以及远程连接
  5. 苹果Mac键盘锁住了怎么解决?
  6. 【转】Thunderbird on Ubuntu 12.04 – 调整邮件列表行间距
  7. 电位器的阻值曲线变化特性解析与应用
  8. 面试题:1000瓶酒找1瓶毒酒
  9. GifCam:有手就会的动图录制神器,GIF专用
  10. 计算机组装与操作系统安装实验报告,操作系统安装实验报告(共10篇).docx