import java.util.Scanner;
public class Shao {
 private static final int[] dishNames = null;
 private static final Object[] dishMegs = null;
 private static int time;
 private static int signOrderId;
 private static int[] tates;
 private static int delId;
 private static int endIndex;
 private static int deiId;
 public static void main(String[] args, Scanner input) {
  // TODO Auto-generated method stub
  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];//保存订单状态
  double []sumPrices=new double[4];//保存订单金额
  for (int j = j-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];
   sumPrices[j]=sumPrices[j+1];
   //用户点菜
   System.out.print("请选择你要点的菜品编号:");
   int chooseDish=input.nextInt();
   System.out.print("请选择需要的分数:");
   int number=input.nextInt();
   String disshMeg=dishMegs[chooseDish-1]+" "+number+"份";
   double sumPrice=sumPrices[chooseDish-1]*number;
   //计算送餐额度
   double deliCharga=(sumPrice>=50)?0:5;
   //选择的菜品信息
   String []dishNums={"红烧带鱼","鱼香肉丝","时令鲜疏"};//菜名字
   double[]prices=new double[]{38.0,20.0,10.0};//菜品单价
   int []praiseNums=new int[3];
   //开始订单信息
   names[0]="少华";
   dishMegs[0]="红烧带鱼2份:";
   times[0]=12;
   addresses[0]="五道口暂安处北大青鸟2楼:";
   sumPrices[0]=1;
   states[1]=0;
   //第二个订单
   names[1]="小雪";
   dishMegs[1]="鱼香肉丝1份";
   times[1]=14;
   addresses[1]="五道口展春路华泰公寓202号";
   sumPrices[1]=45.0;
   states[1]=0;
   //使用do-whil结果实现主菜单操作
   Scanner input1=new Scanner(System.in);
   int num=-1;//用户输入0返回主菜单,否则退出系统
   Object Exit=false;//标志用户是否退出
   System.out.println("\n欢迎使用吃“货联盟系统:”");//根据用户选择菜单功能
   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("1.我要订餐");
    System.out.println("************************************");
    System.out.println("请选择:");
    int choose=input.nextInt();//记录用户选择的功能编号
    //根据用户输入的功能编号执行相应功能
    //
    if(!Exit) {
     System.out.print("输入0返回:");
     num=input.nextInt();
    }else{
     break;
    }
   } while(num==0);
   //根据用户输入的功能执行相应功能
   switch (chooseDish){
   case 1:
    //我要订餐
    System.out.println("****我要订餐****");
    break;
   case 2:
    //查看餐袋
    System.out.println("****查看餐袋****");
    break;
   case 3:
    //签收订单
    System.out.println("****签收订单****");
    break;
   case 4:
    //删除订单
    System.out.println("****删除订单****");
    break;
   case 5:
    //我要点赞
    System.out.println("****我要点赞****");
    break;
   case 6:
    Object ture;
    //退出系统
    Exit=true;
    break;
    default:
     //退出系统
     Exit=true;
     break;
     }
   //省率代码。。。。。
   System.out.println("***查看餐袋***");
   System.out.println("序号\t订餐人\t产品信息\t\t送餐日期\t送餐地址\t\t总金额"
     + "\t订单\t订单状态");
   for (int i = 0; i < names.length; i++) {
    if(names[i]!=null){
     String state=(states[i]==0)?"已预订":"已完成";
     String date=times[i]+"日";
     String sumPrice1=sumPrices[i]+"元";
     System.out.println((i+1)+"\t"+names[i]+"\t"+dishMegs
       [i]+"\t"+date+"\t"+addresses[i]+"\t"+sumPrice+
       "\t"+state);
    }
   }
   break;
   }  
  //我要订餐
  System.out.println("****我要订餐****");
  Boolean isAdd=false;//是否可以订餐
  for (int j = 0; j <names.length; j++) {
   
  }
  int j;
  if(names[j]==null){//可以添加订单信息
   isAdd=true;//置标志可以订餐
   System.out.print("请输入订餐人姓名:");
   String name=input.next();
   //显示选择菜品信息
   System.out.println("序号"+"\t"+"菜品"+"\t"+"单价"+"\t"+"点赞数");
  for (int i = 0; i < name.length(); i++) {
   String price=sumPrices[i]+"元";
   String priaiseNum=(states[i])>0?states[i]+"赞":"0";
   System.out.println((i+1)+"\t"+names[i]+"\t"+price
     +"\t"+priaiseNum);
  }
   //用户点菜
  System.out.print("请选择要点的菜品编号:");
  int chooseDish=input.nextInt();
  System.out.println("请选择您需要的份数");
  int number=input.nextInt();
  Comparable<String> dishNMeg=dishNames[chooseDish-1]*number+" "+number+"份";
  double sumPrice=sumPrices[chooseDish-1]*number;//餐费满五十一免费送餐
  double deliChaeg=(sumPrice>=50)?0:0.5;
   while(time<10||time>20){
    System.out.print("请输入送餐时间(10点之20点左右送到):");
    int time=input.nextInt();
   }
   System.out.print("请输入送餐地址:");
   String address=input.next();
   //无需添加状态
   System.out.println("订餐成功");
   System.out.println("您订的是:"+dishMegs);
   System.out.println("送餐时间:"+time+"点");
   Object 总计;
   System.out.printf("餐费:"+sumPrice+"元","送餐费"+deliChaeg
     +"元"总计,": "+(sumPrice"+ deliChaeg)+"元";"
   //添加数据
   names[j]=name;
   dishMegs[j]=dishMegs;
   times[j]=time;
   addresses[j]=address;
   sumPrices[j]=sumPrice+deliChaeg;
   break;
  }
 if(!isAdd){
  System.out.println("对不起,你的餐袋已满");
 }
 break;
 //签收订单
 System.out.println("***签收订单***");
 boolean inSignFind=false;//找到要签收的单子
 System.out.println("请选择要签收的订单序列号:");
 int ingnOrderId=input.nextInt();
 for (int i = 0; i < names.length; i++) {
  //
  //
  if(names[i]!=null&&states[i]==0&&signOrderId==i+1){
   states[i]=i;
   System.out.println("订单签收成功!");
   inSignFind=true;
  }else if(names[i]!=null&&tates[i]==1&&signOrderId==i+1){
   System.out.println("您选择的订单已签收完成,不能再次签收!");
   inSignFind=true;
  }
 }
 if(!inSignFind){
  System.out.println("您选择的订单不存在!");
 }
 break;
 //删除订单
 System.out.println("***删除订单***");
 boolean isDelFind=false;
 System.out.println("请输入删除订单序列号:");
 int intdelId=input.nextInt();
 for (int i = 0; i < names.length; i++) {
  if(names[i]!=null&&states[i]==1&&delId==i+1){
   isDelFind=true;
   for (int j1 = delId-1; j1 < names.length; j1++) {
    names[j]=names[j+1];
    dishMegs[endIndex]=null;
    addresses[j]=addresses[j+1];
    states[j]=states[j+1];
    sumPrices[j]=sumPrices[j+1];
    times[j]=times[j+1];
   }
   //最后一位清空
   int endIndex =names.length-1;
   names[endIndex]=null;
   dishMegs[endIndex]=null;
   times[endIndex]=0;
   addresses[endIndex]=null;
   states[endIndex]=0;
   sumPrices[endIndex]=0;
   System.out.println("删除订单成功!");
   break;
  }else if(names[i]!=null&&states[i]==0&&deiId==i+1){
   System.out.println("请选择的订单未签收,不能删除:");
   isDdlFind=true;
   break;
  }
 }
 if(!isDdlFind){
  System.out.println("你要删除的订单不存在!:");
 }
 break;
 System.out.println("***我要点赞***");
 //显示菜品信息
 System.out.println("序号"+"\t"+"菜品"+"\t"+"单价");
 for (int k = 0; k < dishNames.length; k++) {
  String price=prices[k]+"元";
  String priaiseNum=(priaiseNum[k])>0?priaiseNum[k]+"赞":"";
  System.out.println((k+1)+"\t"+dishNames[i]+"\t"+price+"\t"+priaiseNum);
 }
 System.out.print("请选择您要点赞的菜品序号:");
 int priaiseNum=input.nextInt();
 praiseNuns[priaiseNum-1]++;//参数家+1
 System.out.println("点赞成功!");
 break;
 }
 
}

简单的Java小程序

Java 吃货联盟的更多相关文章

  1. JAVA吃货联盟项目。

    1基础通过数组.选择结构.循环等实 现吃货联盟订餐系统. 1.我要订餐: 2.查看餐袋: 3.签收订单: 4.删除订单: 5.我要点赞: 6.退出系统: public class Doy001 { p ...

  2. 小项目,吃货联盟,java初级小项目,源代码

    1:项目的实现效果.功能如图所示. 2:项目的源代码如下: import java.util.Scanner; /** * 吃货联盟订餐管理系统 * */ public class OrderingM ...

  3. 吃货联盟订餐系统 源代码 Java初级小项目

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

  4. java基础10 吃货联盟点餐系统

    public class OrderMsg { public static void main(String[] args) throws Exception { /** * 订餐人姓名.选择菜品.送 ...

  5. java基础之吃货联盟

    因为用的是普通数组,所以编写的代码可能比较长,而且有的功能还比较不健全,代码如下: 0.定义数组(因为用static修饰可以不用New,比较方便,但可能比较损耗性能) //订餐人名字 static S ...

  6. java-logic====吃货联盟

    1.系统界面 2.功能一 3.查看餐袋 4.签收订单 5.删除订单 6.我要点赞 主要分在两个类中: 第一个类entity,主要的是一些共有的属性 主要代码: public class entity ...

  7. 云计算 IaaS,SaaS,PaaS的区别?一个通俗易懂的吃货文章

    来自一篇吃货文章了: ———————————————————— &lt;img src="https://pic2.zhimg.com/a55676f8e1b084a398f8cd5 ...

  8. 以吃货的角度去理解云计算中On-Premise、IaaS、PaaS和SaaS

    了解云计算的一定都听过四个“高大上”的概念:On-Premise(本地部署),IaaS(基础设施及服务).PaaS(平台即服务)和SaaS(软件即服务),这几个术语并不好理解.不过,如果你是个吃货,还 ...

  9. 2018年湘潭大学程序设计竞赛 E 吃货

    题目描述 作为一个标准的吃货,mostshy又打算去联建商业街觅食了.混迹于商业街已久,mostshy已经知道了商业街的所有美食与其价格,而且他给每种美食都赋予了一个美味度,美味度越高表示他越喜爱这种 ...

随机推荐

  1. Sql 复习3之存储管理

    一.事务管理 单个工作单元称为事务,我们将若干条sql命令组合在一起,形成存储过程.触发器等,利用存储过程和触发器可以进行事务管理. 二.编程基础介绍 主要有:函数.程序设计语句等. 程序设计语句: ...

  2. asp.net模拟请求

    在asp.net模拟请求,微软在控件状态有安全性控制. __VIEWSTATE.__EVENTVALIDATION要与服务端页面(.aspx)中元素信息保存一致.

  3. c/c++:回调函数

    1:函数名为指针 首先,在C语言中函数是一种function-to-pointer的方式,即对于一个函数,会将其自己主动转换成指针的类型.如: 1 #include<stdio.h> 2 ...

  4. HDOJ2084数塔问题

    数塔问题 题目要求从顶层走究竟层.若每一步仅仅能走到相邻的结点,求经过的结点的数字之和最大值. 非常经典的DP,能够这样考虑,要求从塔顶到塔底最大路径之和.计算时能够考虑自底向上,走最后一步所选的数一 ...

  5. 跟我学AngularJs:Controller数据共享、继承、通信使用具体解释

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主讲了AngularJs中的Controller中数据共享.继承.通信的具体使用 本 ...

  6. 【Linux】OpenWRT的无线设置注意事项——从2.4G到5G,hwmode不简单

    硬件说明: 操作系统:OpenWRT 网卡:AR9220R52Hn 网卡驱动:ath9k OpenWRT在刷机完成之后,并不会自动开启无线功能,需要手动修改配置文件,然后重启网络服务.管理无线功能的配 ...

  7. js关闭浏览器事件,js关闭浏览器提示及相关函数

    关于浏览器关闭事件的相关描述 有些朋友想在浏览器关闭的时候,弹出alert .confirm或者prompt等.实验证明,这种做法是失败的,原因是浏览器关闭事件自动屏蔽执行js的某些方法,从而防止恶意 ...

  8. sublime3 支持 jsx 语法

    添加几个插件即可在js中快速写html babel 可以识别React,并高亮显示ES6 command+shift+p -> install package -> babel 使用 在打 ...

  9. Spring Boot: 加密应用配置文件敏感信息

    Spring Boot: 加密应用配置文件敏感信息 背景 我们的应用之前使用的是Druid数据库连接池,由于需求我们迁移到HikariCP连接池,druid 数据源加密提供了多种方式: 可以在配置文件 ...

  10. PHP基础函数手记

    PHP常用函数总结(180多个):http://www.jb51.net/article/101179.htm PHP常用函数归类总结[大全]:http://blog.csdn.net/ty_hf/a ...