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. Scanner遇上UnmappableCharacterException

    上周末的时候.朋友约好去KTV,鉴于我这样的不怎么听歌的孩子伤不起啊,灵机一动就把我的酷狗歌单导出来了,XML文件嘛,内容太多,我仅仅想要歌名足已. 于是写了一个java去输出歌名.     岂料我受 ...

  2. 数字精确运算BigDecimal经常用法

    import java.math.BigDecimal;  public class Arith {  /**  * 因为Java的简单类型不可以精确的对浮点数进行运算,这个工具类提供精  * 确的浮 ...

  3. VueJS条件语句:v-if、v-else、v-else-if

    HTML:if-else <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  4. Hdu3787

    <span style="color:#330099;">/* H - A+B Time Limit:1000MS Memory Limit:32768KB 64bit ...

  5. java类库中的设计模式

    原帖:http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns 提问:我正在学习GoF的<设计模式&g ...

  6. inflate, findViewById与setContentView的差别与联系

    protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV ...

  7. android 获取手机设备品牌

    在有些数据要获取手机设备是什么品牌,特别做一些适配的时候,好了就讲下怎样或者手机是什么品牌: String brand =android.os.Build.BRAND; 就这么简单!

  8. python os模块 常用函数

    os.getcwd() 获取当前工作目录 os.listdir() 返回指定目录下的所有文件和目录 os.remove() 删除单个文件 os.path.split() 以元祖形式返回一个路径的目录和 ...

  9. Java多线程面试问题

    这篇文章主要是对多线程的面试问题进行总结的,罗列了40个多线程的问题. 1. 多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓 ...

  10. VI使用说明 (转)

    vi使用方法(ZT)         vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Lin ...