在写这篇文章的时候,我也不清楚自己能不能写好,但是想了想还是写一下吧,就当是为前面所学的东西做一下总结。

首先我们要清楚这个程序所需要的东西,第一件就是先定义数组,为数组定义一些元素,从而来实现数组中元素的使用。这里我定义了很多数组代码如下:

        String[] name = new String[4];    //定义一个定餐人姓名的数组String[] dishMegs = new String[4];   //这个是订餐的菜名int[] time = new int[4];    //订餐人所定的时间String[] addresses = new String[4];  //订餐地址int[] states = new int[4];   //这里用了一个int数组来表示是否签收double[] sumPrices = new double[4];  //订餐的总价格double[] Prices = new double[4];  /这个是餐品的单价为多少String[] menu = new String[4];   //这个是菜名int[] dz = new int[4];   //定义点赞的数组

这样我们的第部就完成了,接下来我们往数组里放元素,这个根据自己的要求来放 ,因为定义的数组长度都为4,所以我们放的元素不能越界,

menu[0] = "红烧带鱼";               //往菜单里面添加元素menu[1] = "鱼香肉丝";menu[2] = "时令鲜蔬";//桑拼单价Prices[0] = 38.0;Prices[1] = 20.0;Prices[2] = 10.0;//点赞数为dz[0] = 0;dz[1] = 0;dz[2] = 0;// 第一条订单信息name[0] = "张晴";dishMegs[0] = "红烧带鱼两份";time[0] = 12;addresses[0] = "天成路207号";sumPrices[0] = 76.0;states[0] = 1;//第二条订单信息name[1] = "张晴";dishMegs[1] = "鱼香肉丝两份";time[1] = 18;addresses[1] = "天成路207号";sumPrices[1] = 45.0;states[1] = 0;

因为要输出来一些程序的选项我们用do ,whlie循环来写这个,首先我们先定义一个Boolean变量初始值为false,在我们在程序想退出时,按规定的按钮让他能够跳出循环,这样我们就能够实现外部内容;

boolean isadd = false;
int num=0;
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("***************************");boolean isExit = false;System.out.print("请选择");int choose = input.nextInt();        //定义一个变量,把他当成开关;switch (choose) {case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:isExit = true;break;if(!isExit){System.out.print("输入0返回");num = input.nextInt();}else{break;
}}}while(num==0)

这样我们完成里系统的外部,剩下的按钮就是用switch来完成了;

我们首先要明白这个内容所需要的东西;我们先定义一个变量然后将所写的内容加到我们最开始定义的数组中;

case 1:中我们定定义的就是内容将上面定义的isadd作为一个是否能增加餐袋的按钮,如果还有空的餐袋,我们就能够输入,否则输出餐袋已经满了的标识;

case 1://创建1.按钮,实现里面的内容System.out.println("***我要订餐***");for (int i = 0; i < name.length; i++) {if (name[i] == null) {isadd = true;System.out.print("请输入订餐人信息:");name[i] = input.next();System.out.println("序号\t菜名\t单价\t点赞数");for (int j = 0; j < name.length; j++) {if (menu[j] == null) {break;}System.out.println((j + 1) + "\t" + menu[j] + "\t" + Prices[j] + "\t" + dz[i]);}System.out.print("请选择您要点的菜品编号");double bianhao = input.nextDouble();System.out.print("请输入您要的份数:");int number = input.nextInt();System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送):");int time1 = input.nextInt();while (!(time1 > 9 || time1 < 20)) {System.out.print("请重新输入送餐时间(送餐时间是10点至20点间整点送):");time1 = input.nextInt();}double sum = number * Prices[(int) (bianhao - 1)];int psf = 0;int sum2 = 0;if (!(sum > 50)) {psf += 5;sum2 = (int) sum + 5;}System.out.print("请输入送餐地址:");addresses[i] = input.next();System.out.println();//订单成功System.out.println("订餐成功");System.out.println("您定的是" + menu[(int) bianhao - 1] + "" + number + "份");System.out.println("送餐时间是" + time1 + "点");System.out.println("配送地址是" + addresses[i]);System.out.println("餐费:" + sum + "元,配送费是" + psf + "元,总计" + sum2);dishMegs[i] = menu[(int) bianhao - 1] + number + "份";sumPrices[i] = sum2;time[i] = time1;states[i] = 0;break;}}if (!isadd) {System.out.println("对不起您的餐袋已满!");}break;

case 2:中就是对餐袋的查看,我们用一个for循环来遍历输出来这些东西;

 case 2:System.out.println("***查看餐袋***");System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");for (int i = 0; i < name.length; i++) {if (name[i] != null) {String state = (states[i] == 0) ? "已预订" : "已完成";System.out.println((i + 1) + "\t" + name[i] + "\t" + dishMegs[i] + "\t" + time[i] + "\t" + addresses[i] + "\t" + sumPrices[i] + "\t" + state);}}

case 3:我们要调用里面的元素,利用我们定义的states[]来判断这个订单是否完成,如果是预订单没有签收,那么就把states[]改成1:这样就把该订单签收了;同时定义一个Boolean变量,如果从for循环里面找到了这个我们所选序号的订单,我们就能够判断这个订单是否签收,这样就能完成判段了

 case 3:System.out.println("***签收订单***");System.out.print("请输入订单序号");int xuhao = input.nextInt();boolean isacc = false;for (int i = 0; i < name.length; i++) {if (name != null && states[i] == 0 && i == xuhao - 1) {states[i] = 1;System.out.println("签收成功");isacc = true;break;}if (name != null && states[i] == 1 && i == xuhao - 1) {System.out.println("无法签收,该订单已被签收!");isacc = true;break;}}if (!isacc) {System.out.println("找不到此订单");}break;

case 4:中我们要能够找到这个程序符合我们所选的,如果这个订单已被签收,那么我们就可以将它删除,如果订单没有签收,我们就不能将他删减,被删掉的订单数组用下一个订单来补将最后一个订单设置为空!

case 4:System.out.println("***删除订单***");boolean isASS = false;System.out.print("请选择要删除的订单:");int ddh = input.nextInt();int index = -1;for (int i = 0; i < name.length; i++) {if (name[i] != null && states[i] == 0 && i == ddh - 1) {isASS = true;System.out.println("该订单没签收,无法删除");break;}if (name[i] != null && states[i] == 1 && i == ddh - 1) {isASS = true;index = i;for (int j = index; j < name.length - 1; j++) {name[j] = name[j + 1];addresses[j] = addresses[j + 1];time[j] = time[j + 1];states[j] = states[j + 1];dishMegs[j] = dishMegs[j + 1];sumPrices[j] = sumPrices[j + 1];}name[name.length-1]=null;addresses[addresses.length-1] = null;time[time.length-1]=0;System.out.println("删除成功");break;}}if (!isASS) {System.out.println("没找到该订单");break;}break;

case 5:就是点赞商品了,我们首先调用出来菜单中的元素,(如果点赞数为零我们不显示否则我们输出来个数为多少);

 case 5:System.out.println("***我要点赞***");int isAqq = 0;System.out.println("序号\t菜名\t\t单价\t\t点赞数");for (int i = 0; i < menu.length; i++) {if (menu[i] == null) {break;}String dzs = dz[i] > 0 ? dz[i] + "赞" : "";System.out.println((i + 1) + "\t" + menu[i] + "\t" + Prices[i] + "元\t" + dzs);}System.out.print("请输入商品序号");int dzh = input.nextInt();dz[dzh - 1]++;System.out.println("点赞成功!");break;

这样这个系统就完成了,整体代码如下:

package project;import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;import java.util.Scanner;public class OrderingMgr {public static void main(String[] args) {String[] name = new String[4];String[] dishMegs = new String[4];int[] time = new int[4];String[] addresses = new String[4];int[] states = new int[4];double[] sumPrices = new double[4];double[] Prices = new double[4];String[] menu = new String[4];int[] dz = new int[4];//菜单为menu[0] = "红烧带鱼";menu[1] = "鱼香肉丝";menu[2] = "时令鲜蔬";//桑拼单价Prices[0] = 38.0;Prices[1] = 20.0;Prices[2] = 10.0;//点赞数为dz[0] = 0;dz[1] = 0;dz[2] = 0;// 第一条订单信息name[0] = "张晴";dishMegs[0] = "红烧带鱼两份";time[0] = 12;addresses[0] = "天成路207号";sumPrices[0] = 76.0;states[0] = 1;//第二条订单信息name[1] = "张晴";dishMegs[1] = "鱼香肉丝两份";time[1] = 18;addresses[1] = "天成路207号";sumPrices[1] = 45.0;states[1] = 0;//int num = -1;boolean isadd = false;Scanner input = new Scanner(System.in);System.out.println("欢迎使用“吃货联盟订餐系统”");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("***************************");boolean isExit = false;System.out.print("请选择");int choose = input.nextInt();switch (choose) {case 1://创建1.按钮,实现里面的内容System.out.println("***我要订餐***");for (int i = 0; i < name.length; i++) {if (name[i] == null) {isadd = true;System.out.print("请输入订餐人信息:");name[i] = input.next();System.out.println("序号\t菜名\t单价\t点赞数");for (int j = 0; j < name.length; j++) {if (menu[j] == null) {break;}System.out.println((j + 1) + "\t" + menu[j] + "\t" + Prices[j] + "\t" + dz[i]);}System.out.print("请选择您要点的菜品编号");double bianhao = input.nextDouble();System.out.print("请输入您要的份数:");int number = input.nextInt();System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送):");int time1 = input.nextInt();while (!(time1 > 9 || time1 < 20)) {System.out.print("请重新输入送餐时间(送餐时间是10点至20点间整点送):");time1 = input.nextInt();}double sum = number * Prices[(int) (bianhao - 1)];int psf = 0;int sum2 = 0;if (!(sum > 50)) {psf += 5;sum2 = (int) sum + 5;}System.out.print("请输入送餐地址:");addresses[i] = input.next();System.out.println();//订单成功System.out.println("订餐成功");System.out.println("您定的是" + menu[(int) bianhao - 1] + "" + number + "份");System.out.println("送餐时间是" + time1 + "点");System.out.println("配送地址是" + addresses[i]);System.out.println("餐费:" + sum + "元,配送费是" + psf + "元,总计" + sum2);dishMegs[i] = menu[(int) bianhao - 1] + number + "份";sumPrices[i] = sum2;time[i] = time1;states[i] = 0;break;}}if (!isadd) {System.out.println("对不起您的餐袋已满!");}break;case 2:System.out.println("***查看餐袋***");System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");for (int i = 0; i < name.length; i++) {if (name[i] != null) {String state = (states[i] == 0) ? "已预订" : "已完成";System.out.println((i + 1) + "\t" + name[i] + "\t" + dishMegs[i] + "\t" + time[i] + "\t" + addresses[i] + "\t" + sumPrices[i] + "\t" + state);}}break;case 3:System.out.println("***签收订单***");System.out.print("请输入订单序号");int xuhao = input.nextInt();boolean isacc = false;for (int i = 0; i < name.length; i++) {if (name != null && states[i] == 0 && i == xuhao - 1) {states[i] = 1;System.out.println("签收成功");isacc = true;break;}if (name != null && states[i] == 1 && i == xuhao - 1) {System.out.println("无法签收,该订单已被签收!");isacc = true;break;}}if (!isacc) {System.out.println("找不到此订单");}break;case 4:System.out.println("***删除订单***");boolean isASS = false;System.out.print("请选择要删除的订单:");int ddh = input.nextInt();int index = -1;for (int i = 0; i < name.length; i++) {if (name[i] != null && states[i] == 0 && i == ddh - 1) {isASS = true;System.out.println("该订单没签收,无法删除");break;}if (name[i] != null && states[i] == 1 && i == ddh - 1) {isASS = true;index = i;for (int j = index; j < name.length - 1; j++) {name[j] = name[j + 1];addresses[j] = addresses[j + 1];time[j] = time[j + 1];states[j] = states[j + 1];dishMegs[j] = dishMegs[j + 1];sumPrices[j] = sumPrices[j + 1];}name[name.length-1]=null;addresses[addresses.length-1] = null;time[time.length-1]=0;System.out.println("删除成功");break;}}if (!isASS) {System.out.println("没找到该订单");break;}break;case 5:System.out.println("***我要点赞***");int isAqq = 0;System.out.println("序号\t菜名\t\t单价\t\t点赞数");for (int i = 0; i < menu.length; i++) {if (menu[i] == null) {break;}String dzs = dz[i] > 0 ? dz[i] + "赞" : "";System.out.println((i + 1) + "\t" + menu[i] + "\t" + Prices[i] + "元\t" + dzs);}System.out.print("请输入商品序号");int dzh = input.nextInt();dz[dzh - 1]++;System.out.println("点赞成功!");break;case 6:isExit = true;break;default:isExit = true;break;}if (!isExit) {System.out.print("输入0返回");num = input.nextInt();} else {break;}} while (num == 0);}
}

刚学习java有可能写的代码有漏洞,或者bug众多,希望能帮助到大家,如果有错误请大佬提出来,一起学习

第一个简单的程序——吃货联盟系统相关推荐

  1. java吃货联盟系统

    public class Dingdan {DingDanxinxi d = new DingDanxinxi();Scanner input = new Scanner(System.in);//提 ...

  2. 吃货联盟系统 C++实现

    代码: #include <iostream> #include <string> #include <vector> using namespace std;/* ...

  3. 第一本书 第九章 使用对象吃货联盟

    如果有一天,能做到让程序自学习就好了:发呆发呆(`・ω・´):这个小项目我写了5个小时: 优化了好多天:希望大家珍惜:谢谢 by 阿飞~ ~   package com.opp.opp.bookone ...

  4. java吃货联盟系统源码_小项目,吃货联盟,java初级小项目,源代码

    小项目,吃货联盟,java初级小项目,源代码 1importjava.util.Scanner;23/**4* 吃货联盟订餐管理系统5*6*/7publicclassOrderingMsg {8pub ...

  5. Java 吃货联盟系统(变量、数组)

    1.程序主页面: package cn.zhang;import java.util.Scanner;public class Demo {public static void main(String ...

  6. java吃货联盟系统源码_吃货联盟 源代码 Java初级小项目

    咳咳,今天博主给大家写一个小的项目:吃货联盟订餐系统.博主不是大神(互联网架构师的路上ing),也是小白一个,不过是刚入门的小白^_^.项目功能也很简单:只是模拟日常的订餐流程呦,所以有错误以及功能不 ...

  7. java吃货联盟系统源码_java-吃货联盟订餐系统

    一.系统概述 编写一个订餐的系统,具体需要实现这6个功能:分别是,我要订餐.查看餐袋.签收订单.删除订单.我要点赞.退出系统. 编写设计一个良好的系统,需要符合界面交互设计的原则,具体包括 ①统一性原 ...

  8. 以吃货联盟初级改版为例,(面向对象初级程序设计模拟网上点餐控制台程序(第一版未使用工具辅助类)。

    面向对象最初级程序设计思维:设计过程与抽象过程,(类是对象的模板与抽象,是具有相同属性和方法的一组对象的集 合,对象是类的实体,由属性与行为共同组成一个具体的实体.) 类与对象的关系:类是对象抽象,对 ...

  9. 北大青鸟,Java基础练习,S1结业项目:“吃货联盟点餐系统”

    关于java的基础练习,可以更有效的来找到自己的不足之处,也可以锻炼自己的编程思想,这个吃货联盟系统包含了基础概念,变量.数据类型,也练习了顺序,选择,循环,跳转语句的编写编程的能力,最后还要求你会使 ...

最新文章

  1. leetcode算法题--链表组件
  2. 面试题——轻松搞定面试中的红黑树问题
  3. linux搜索过滤器,Unix和Linux管道(pipe)和过滤器(filter)使用介绍
  4. Python 梯度下降法
  5. QT--foreach的用法
  6. 记录一次dubbo项目实战
  7. 责任链模式 和观察者模式
  8. php搬迁安装,【资料搬迁】安装phpunit
  9. iOS:重识Transform和frame
  10. socket,ioctl获取ip
  11. php 32位v11库下载,LibFredo6 (多国语言编译库) v11.6a (原版)
  12. 软件如何上传虚拟服务器,本地软件传到虚拟机上
  13. 电气绘图软件-AutoCAD Electrical:基本基础(一)
  14. 网络术语---数字签名的简单认识
  15. beautiful report 的简单使用
  16. ASPXGridView 数据分页设置
  17. ROS 交叉编译介绍
  18. mc杀人Linux指令,杀人雪球指令详解 教你怎么做杀人雪球
  19. (8)Artemis检测(僵尸连接、慢消费者、代理异常)
  20. 查看linux版本是多少位

热门文章

  1. 测试唱歌程度软件,KTV的演唱评分软件可以代表一个人的演唱水平吗?
  2. emqtt数据存储mysql,数据存储 - MongoDB 消息存储 - 《EMQ X Enterprise v3.0 中文文档》 - 书栈网 · BookStack...
  3. 注册商标申请提交材料
  4. Java利用for循环,打印输出实心、空心三角形
  5. sql比较两张表,获取与不一样的数据
  6. wampserver配置域名
  7. 如何实现一个简单的课程网(源码+论文)
  8. Ubuntu numpy 源码下载
  9. ​力扣解法汇总732-我的日程安排表 III
  10. 51单片机——按键,定时器消抖,短按,长按,三行代码,状态机