吃货联盟完整版

入口文件

public class text {
    public static void main(String[] args) {
    //text 作为入口文件使用 将a在text文件里实例化
        game a = new game();
        a.all();
    }
}

定义初始代码

 String[] name = new String[100];	    					 //保存订单人的信息
    String[] xinxi = new String[100];						     //保存选择的菜品
    int[] shijian = new int[100];				 				 //保存客户选择的送餐时间
    int[] zhuangtai = new int[100];							     //保存订单状态
    String[] dizhi = new String[100];	   					     //保存订单的地址
    double[] zhongjia = new double[100];						 //订单的总价
    String[] caidian = new String[]{"面","汤","饭"};				 //保存菜名
    double[] jiage = new double[]{10,14,24};					 //保存菜品的价格
    int[] dianzanshu = new int[3];                                  //用于保存用户的点赞数
    Scanner a=new Scanner(System.in);

整个文件用game方法包裹起来

定义初始页面 使用定义all方法包裹起来

public void all() {
        b:while(true){
        //这是初始页面  也就是当用户打开程序时显示的东西
            System.out.println("**************************************");
            System.out.println("\t\t1,我要订单");
            System.out.println("\t\t2,查看订单");
            System.out.println("\t\t3,签收订单");
            System.out.println("\t\t4,删除订单");
            System.out.println("\t\t5,菜品点赞");
            System.out.println("\t\t6,退出程序");
            System.out.println("**************************************");
            //判断用户输入的是哪一个则进入哪一个方法
            String xz = a.next();     
            switch(xz){
                case "1":
                    System.out.println("***我要订单***");
                    caidan();
                    break b;
                case "2":
                    System.out.println("***查看订单***");
                    chakan();
                    break b;
                case "3":
                    System.out.println("***签收订单***");
                    qiansho();
                    break b;
                case "4":
                    System.out.println("***删除订单***");
                    shanchu();
                    break b;
                case "5":
                    System.out.println("***菜品点赞***");
                    dianzan();
                    break b;
                case "6":
                    System.out.println("***推出程序***");
                    System.out.println("***欢迎下次使用;祝你用餐愉快***");

                    break b;
                default:
                    System.out.println("输入错误,请重新输入");
            }
        }

    }

返回到初始页面的方法

private void fanhui(){
        System.out.print("输入任意符返回");
        String pp = a.next();
        all();
    }

我要订单的方法

 private void caidan() {
        //我要订单
        a:for(int i=0;i<xinxi.length;i++){
            if(xinxi[i]==null){
                System.out.println("序号\t\t菜名\t\t价格\t\t点赞");
                //使用for循环遍历菜单
                for(int s=0;s<caidian.length;s++){		
                System.out.println((s+1)+"\t\t"+caidian[s]+"\t\t"+jiage[s]+"\t\t"+dianzanshu[s]);				                    	
                }
                //询问订单人的姓名
                System.out.print("请输入订单人姓名:");
                String os = a.next();
                //询问菜品的编号如果不是1-3的话则让用户重新输入
                System.out.print("请输入你要点的菜品编号:");
                int pqq = a.nextInt();
                while(pqq<1 || pqq>3){
                    System.out.print("输入错误;重新输入");
                    pqq = a.nextInt();
                }
                //询问点餐份数,如果不是1-3则让用户重新输入
                System.out.print("请输入你的份数(最多只能点3份):");
                int acc = a.nextInt();
                while(acc<1 || acc>3){
                    System.out.print("输入错误请从新输入:");
                    acc = a.nextInt();
                }
                //这是将用户点的菜品和份数上传给xinxi_
                String xinxi_ = caidian[pqq-1]+" "+acc+"份";
                //询问送餐时间如果不是0-24的话则让用户重新输入
                System.out.print("请输入你的送餐时间(0-24):");
                int saa = a.nextInt();
                while(saa<0 || saa>24){
                    System.out.print("输入错误,请重新输入:");
                    saa = a.nextInt();
                }
                //询问用户的送餐地址
                System.out.print("请输入你的送餐地址:");
                String sds = a.next();
                System.out.println("订餐成功");
                //将用户点的餐的价格乘于份数 从而算出总价
                System.out.println("总价为:"+jiage[pqq-1]*acc);
                if(true){

                }
                //将算出来的总价赋值给zhongjia[i]
                zhongjia[i]=jiage[pqq-1]*acc;
                //将订单人姓名赋值给name[i]
                name[i] = os;
                //将用户点的菜和份数赋值给xinxi[i]
                xinxi[i]= xinxi_;
                //将送餐时间赋值给shijian[i]
                shijian[i] = saa;
                //将用户输入的送餐地址赋值给dizhi[i]
                dizhi[i] = sds;
				//使用返回方法返回到初始页面
                fanhui();
                break a;
            }
        }
    }

查看订单

private void chakan() {
        // 查看订单
        System.out.println("序号\t\t订餐人\t\t商品信息\t\t送餐时间\t\t送餐地址\t\t总金额\t\t订单状态");
        //for内询问name[c]是否有内容,如果没有内容的话则进入if分支,如果有的话则返回初始页面
        for(int c = 0;c<name.length;c++){
            if(name[c]!=null) {
            //先询问zhuangtai[c]是否等于0;如果等于0的话则将配送中赋值费jc;如果不等于0的话则将已签收赋值给jc,zhuangtai数组在后面的签收订单方法里;在签收方法里如果用户选择签收订单的话,那么在那个下标的数组里则会变成1,反之就是初始值0;
                String jc = (zhuangtai[c] == 0) ? "配送中" : "已签收";
                //将订单打印出来
                System.out.println(c + 1 + "\t\t" + name[c] + "\t\t\t" + xinxi[c] + "\t\t" + shijian[c] + "点\t\t\t" + dizhi[c] + "\t\t" + zhongjia[c] + "\t\t" + jc);
            }
        }
        //返回初始页面
        fanhui();
    }

签收订单

private void qiansho() {
        // 签收订单
        System.out.println("你要签收哪一个订单(请填写序号):");
        int o = a.nextInt();
        if(name[o-1]!=null){
        //赋值为何赋值为一在查看订单内有解释
            zhuangtai[o-1]=1;
            fanhui();
        }
    }

删除订单

private void shanchu() {
        // 删除订单
        System.out.println("你要删除哪一个订单(请填写序号):");
        int o = a.nextInt();
        o--;
        if(name[o]!=null){
        //判断用户输入的订单号有没有如果有,则进入if分支,如果没有则报错,并返回初始页面
            if(zhuangtai[o]==1){
                //将订单向前移
                for(int i=o; i<name.length-1; i++){       
                    name[i]=name[i+1];
                    xinxi[i]=xinxi[i+1];
                    shijian[i]=shijian[i+1];
                    zhuangtai[i]=zhuangtai[i+1];
                    dizhi[i]=dizhi[i+1];
                    zhongjia[i]=zhongjia[i+1];
                }
                System.out.println("已删除订单");
                //处理将订单向前移的后事;都知道将一个值赋予一个值,赋值过去之后原本的那个值不会消失,还会留在那里,下面的代码是将原本的值删除
                int zuiho=name.length-1;
                name[zuiho]=null;
                xinxi[zuiho]=null;
                shijian[zuiho]=0;
                zhuangtai[zuiho]=0;
                dizhi[zuiho]=null;
                zhongjia[zuiho]=0;
                fanhui();
            }else {
                System.out.println("不是已签收的点单,无法删除");
                fanhui();
            }
        }else{
            System.out.println("订单不存在!");
            fanhui();
        }
    }

菜品点赞

 private void dianzan() {
        // 菜品点赞
        //将菜品输出出来
        System.out.println("1,"+caidian[0]);
        System.out.println("2,"+caidian[1]);
        System.out.println("3,"+caidian[2]);
        System.out.println("请输入你要点赞的菜单编号");
        int o = a.nextInt();
        //判断用户输入的菜品编号,并进入相对的分支
        if (o==1){
            dianzanshu[o-1]+=1;
            System.out.println("点赞成功,谢谢你的点赞");
            fanhui();
        }else if (o==2){
            dianzanshu[o-1]+=1;
            System.out.println("点赞成功,谢谢你的点赞");
            fanhui();
        }else if(o==3){
            dianzanshu[o-1]+=1;
            System.out.println("点赞成功,谢谢你的点赞");
            fanhui();
        }else{
            System.out.println("输入错误请重新输入");
            fanhui();
        }
    }

完整代码

import java.util.Scanner;
public class game {
    String[] name = new String[100];	    					 //保存订单人的信息
    String[] xinxi = new String[100];						     //保存选择的菜品
    int[] shijian = new int[100];				 				 //保存客户选择的送餐时间
    int[] zhuangtai = new int[100];							     //保存订单状态
    String[] dizhi = new String[100];	   					     //保存订单的地址
    double[] zhongjia = new double[100];						 //订单的总价
    String[] caidian = new String[]{"面","汤","饭"};				 //保存菜名
    double[] jiage = new double[]{10,14,24};					 //保存菜品的价格
    int[] dianzanshu = new int[3];                               //用于保存用户的点赞数
    Scanner a=new Scanner(System.in);
    public void all() {
        b:while(true){
            System.out.println("**************************************");
            System.out.println("\t\t1,我要订单");
            System.out.println("\t\t2,查看订单");
            System.out.println("\t\t3,签收订单");
            System.out.println("\t\t4,删除订单");
            System.out.println("\t\t5,菜品点赞");
            System.out.println("\t\t6,退出程序");
            System.out.println("**************************************");
            String xz = a.next();
            switch(xz){
                case "1":
                    System.out.println("***我要订单***");
                    caidan();
                    break b;
                case "2":
                    System.out.println("***查看订单***");
                    chakan();
                    break b;
                case "3":
                    System.out.println("***签收订单***");
                    qiansho();
                    break b;
                case "4":
                    System.out.println("***删除订单***");
                    shanchu();
                    break b;
                case "5":
                    System.out.println("***菜品点赞***");
                    dianzan();
                    break b;
                case "6":
                    System.out.println("***推出程序***");
                    System.out.println("***欢迎下次使用;祝你用餐愉快***");

                    break b;
                default:
                    System.out.println("输入错误,请重新输入");
            }
        }

    }
    private void dianzan() {
        // 菜品点赞
        System.out.println("1,"+caidian[0]);
        System.out.println("2,"+caidian[1]);
        System.out.println("3,"+caidian[2]);
        System.out.println("请输入你要点赞的菜单编号");
        int o = a.nextInt();
        if (o==1){
            dianzanshu[o-1]+=1;
            System.out.println("点赞成功,谢谢你的点赞");
            fanhui();
        }else if (o==2){
            dianzanshu[o-1]+=1;
            System.out.println("点赞成功,谢谢你的点赞");
            fanhui();
        }else if(o==3){
            dianzanshu[o-1]+=1;
            System.out.println("点赞成功,谢谢你的点赞");
            fanhui();
        }else{
            System.out.println("输入错误请重新输入");
            fanhui();
        }
    }
    private void shanchu() {
        // 删除订单
        System.out.println("你要删除哪一个订单(请填写序号):");
        int o = a.nextInt();
        o--;
        if(name[o]!=null){
            if(zhuangtai[o]==1){
                for(int i=o; i<name.length-1; i++){                 //将订单向前移
                    name[i]=name[i+1];
                    xinxi[i]=xinxi[i+1];
                    shijian[i]=shijian[i+1];
                    zhuangtai[i]=zhuangtai[i+1];
                    dizhi[i]=dizhi[i+1];
                    zhongjia[i]=zhongjia[i+1];
                }
                System.out.println("已删除订单");
                int zuiho=name.length-1;
                name[zuiho]=null;
                xinxi[zuiho]=null;
                shijian[zuiho]=0;
                zhuangtai[zuiho]=0;
                dizhi[zuiho]=null;
                zhongjia[zuiho]=0;
                fanhui();
            }else {
                System.out.println("不是已签收的点单,无法删除");
                fanhui();
            }
        }else{
            System.out.println("订单不存在!");
            fanhui();
        }
    }
    private void qiansho() {
        // 签收订单
        System.out.println("你要签收哪一个订单(请填写序号):");
        int o = a.nextInt();
        if(name[o-1]!=null){
            zhuangtai[o-1]=1;
            fanhui();
        }
    }
    private void chakan() {
        // 查看订单
        System.out.println("序号\t\t订餐人\t\t商品信息\t\t送餐时间\t\t送餐地址\t\t总金额\t\t订单状态");
        for(int c = 0;c<name.length;c++){
            if(name[c]!=null) {
                String jc = (zhuangtai[c] == 0) ? "配送中" : "已签收";
                System.out.println(c + 1 + "\t\t" + name[c] + "\t\t\t" + xinxi[c] + "\t\t" + shijian[c] + "点\t\t\t" + dizhi[c] + "\t\t" + zhongjia[c] + "\t\t" + jc);
            }
        }
        fanhui();
    }
    private void caidan() {
        //我要订单
        a:for(int i=0;i<xinxi.length;i++){
            if(xinxi[i]==null){
                System.out.println("序号\t\t菜名\t\t价格\t\t点赞");
                for(int s=0;s<caidian.length;s++){						//遍历菜单
                    System.out.println((s+1)+"\t\t"+caidian[s]+"\t\t"+jiage[s]+"\t\t"+dianzanshu[s]);
                }
                System.out.print("请输入订单人姓名:");
                String os = a.next();
                System.out.print("请输入你要点的菜品编号:");
                int pqq = a.nextInt();
                while(pqq<1 || pqq>3){
                    System.out.print("输入错误;重新输入");
                    pqq = a.nextInt();
                }
                System.out.print("请输入你的份数(最多只能点3份):");
                int acc = a.nextInt();
                while(acc<1 || acc>3){
                    System.out.print("输入错误请从新输入:");
                    acc = a.nextInt();
                }
                String xinxi_ = caidian[pqq-1]+" "+acc+"份";
                System.out.print("请输入你的送餐时间(0-24):");
                int saa = a.nextInt();
                while(saa<0 || saa>24){
                    System.out.print("输入错误,请重新输入:");
                    saa = a.nextInt();
                }
                System.out.print("请输入你的送餐地址:");
                String sds = a.next();
                System.out.println("订餐成功");
                System.out.println("总价为:"+jiage[pqq-1]*acc);
                if(true){

                }
                zhongjia[i]=jiage[pqq-1]*acc;
                name[i] = os;
                xinxi[i]= xinxi_;
                shijian[i] = saa;
                dizhi[i] = sds;

                fanhui();
                break a;
            }
        }
    }
    private void fanhui(){
        System.out.print("输入任意符返回");
        String pp = a.next();
        all();
    }
}

完整输出页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值