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. 如何让DIV居中

    总结:text-align:center;对三中浏览器而言,都具有文字/行内元素的嵌套式居中,或者说继承式的居中,只要外面的容器设置了这个属性,那么他内部的所有元素都具有这个属性(意思是,虽然这个属性 ...

  2. Qt on Android:将Qt调试信息输出到logcat中

    版权全部 foruok .如需转载敬请注明出处(http://blog.csdn.net/foruok). 假设你在目标 Android 设备上执行了 Qt on Android 应用,你可能希望看到 ...

  3. initramfs扫描磁盘前改变磁盘上电顺序

    背景: 机械硬盘需要12V 5V电源,此前设计是硬件电路默认5V有效.12V无效,然后系统通过驱动上12V电,对磁盘来说相当于先上5V后上12V,这种方式对大部分磁盘是可以的,但对于日立 HGST磁盘 ...

  4. 基于faro SDK 读取fls原始文件

    #define _SCL_SECURE_NO_WARNINGS #define _CRT_SECURE_NO_WARNINGS #include <iostream> //#include ...

  5. linux uart驱动——uart platfrom 注册(三)

    一:注册platform device 注册一个platfrom device一般需要初始化两个内容,设备占用的资源resource和设备私有数据dev.platfrom_data.设备的resour ...

  6. PHP中输出文件,怎么区别什么时候该用readfile() , fread(), file_get_contents(), fgets()

    我在服务器端(Apache环境)上放了一个安卓apk安装包的下载链接,使用readfile()读取apk文件输出下载后,手机安装apk显示解析包错误.但apk本身没问题,下载后文件的大小也是完整的.服 ...

  7. go test 下篇

    前言 go test 上篇 给大家介绍了golang自带的测试框架,包括单元测试和性能测试.但是在实际生产中测试经常会遇到一些网络或者依赖的第三方系统接口,运行测试用例的时候希望忽略这些接口的实际依赖 ...

  8. python 基础 6.0 异常的常用形式

    一. 异常   异常既是一个时间,该事件会在程序执行过程中发生,影响了程序的正常执行.一般情况下,在python无法正常处理程序时就会发生一个异常.异常是python对象,表示一个错误.当python ...

  9. LA 3882 And Then There Was One[约瑟夫问题的变形]

    And Then There Was One UVALive - 3882 Sample Input   Sample Output //设f[i]为(原约瑟夫问题)第i次要删除的标号 #includ ...

  10. 数据结构---python---表

    一.list的基本实现技术 在数据结构中,如果用python实现线性表,无疑要提到list,list是一种元素个数可变的线性表(而tuple是不变的表,不支持改变其内部状态的任何操作,其他与list性 ...