Java-外卖订餐系统(数组)

package arrayOrder;
import java.util.Scanner;
public class ArrayOrder {
    public static void main(String[] args){

        //定义全局变量
        Scanner sc = new Scanner(System.in);
        int isContinue;
        boolean isExit = false;
        Object[] message = new  Object[10];
        Object[] messages = new  Object[10];
        String[] state = new String[10];
        int n = 0;
        int[] priseNum = {12,19,22};
        int[] indexes = new int[10];

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("------------------");
    int num = sc.nextInt();
    switch (num){
        case 1 :
            System.out.println("*****1.我要点餐*****");
            System.out.println("序号  菜名      单价     点赞数");
            System.out.println("1    红烧带鱼   38.0元   "+priseNum[0]);
            System.out.println("2    鱼香肉丝   20.0元   "+priseNum[1]);
            System.out.println("3    时令鲜蔬   10.0元   "+priseNum[2]);
            System.out.println("------------------");

            double price = 0;
            String dish = null;
            double fees = 6.0;
            double total;
            System.out.println("请输入订餐人:");
            String name = sc.next();
            System.out.println("请选择你要点的菜品编号:");
            int index = sc.nextInt();
            System.out.println("请选择你需要的份数:");
            int number = sc.nextInt();
            System.out.println("请输入送餐时间(10~20):");
            int time = sc.nextInt();
            while (time<10||time>20){
                System.out.println("该时间无法配送,请重新选择:");
                time = sc.nextInt();
            }
            System.out.println("请输入送餐地址:");
            String address = sc.next();

            //价格、配送费、总价的计算
            if (index==1){
                dish = "红烧带鱼";
                price = number*38.0;
            } else if (index==2) {
                price = number*20.0;
                dish = "鱼香肉丝";
            } else if (index==3) {
                price = number*10.0;
                dish = "时令鲜蔬";
            }else {
                System.out.println("您选择的菜品编号有误!");
            }
            if (price>=50){
                System.out.println("金额超过50,免除配送费");
                fees = 0;
            }else {
                System.out.println("配送费6元");
            }
            total = price+fees;


            //将订餐信息存入数组
            for (int i = n; i<n+1;i++){
                indexes[i] = i+1;
                message[i] = dish+" "+number+"份"+"\n"+"送餐时间:"+time+"点"+"\n"+"餐费:"+price+"元"+" ,送餐费"+fees+"元"+" ,总计:"+total+"元。";
                messages[i] =name+"   "+dish+" "+"当日"+time+"点"+" "+address+"   "+total;
                state[i] = "已预订!";
            }

            //打印小票
            System.out.print("您订的是:");
            for (int i = n; i<n+1;i++){
                System.out.println(message[i]);
            }
            n++;//控制每一次存入数组的顺序,初始为0,编号为1;
            break;
        case 2:
            System.out.println("*****2.查看餐袋*****");
            System.out.println("序号 订餐人 餐品信息 送餐日期 送餐地址 总金额 订单状态");
            for (int i = 0; i<n;i++){
                System.out.println(indexes[i]+"  "+messages[i]+"   "+state[i]);
            }
            break;
        case 3:
            System.out.println("*****3.签收订单*****");
            System.out.println("序号 订餐人 餐品信息 送餐日期 送餐地址 总金额 订单状态");
            for (int i = 0; i<n;i++){
                System.out.println(indexes[i]+"  "+messages[i]+"   "+state[i]);
            }
            System.out.println("--------------------------------------------");
            System.out.println("请选择要签收的订单序号:");
            int m = sc.nextInt();
            state[m-1] = "已完成!";
            System.out.println("订单签收完成!");
            break;
        case 4:
            System.out.println("*****4.删除订单*****");
            System.out.println("序号 订餐人 餐品信息 送餐日期 送餐地址 总金额 订单状态");
            for (int i = 0; i<n;i++){
                System.out.println(indexes[i]+"  "+messages[i]+"   "+state[i]);
            }
            System.out.println("--------------------------------------------");
            System.out.println("请选择你要删除的订单编号:");
            int rove = sc.nextInt();
            if (state[rove-1].equals("已预订!")){
                System.out.println("订单未完成,无法删除");
            }else {
                for (int i = rove - 1; i < n - 1; i++) {
                    messages[i] = messages[i + 1];
                    state[i] = state[i + 1];
                }
                messages[n - 1] = "";
                state[n - 1] = "";
                n--;
                System.out.println("删除订单成功!");
            }
            break;
        case 5:
            System.out.println("*****5.我要点赞*****");
            System.out.println("序号  菜名      单价     点赞数");
            System.out.println("1    红烧带鱼   38.0元   "+priseNum[0]);
            System.out.println("2    鱼香肉丝   20.0元   "+priseNum[1]);
            System.out.println("3    时令鲜蔬   10.0元   "+priseNum[2]);
            System.out.println("----------------------------");
            System.out.println("请输入你要点赞的餐品的编号:");
            int dex = sc.nextInt();
            priseNum[dex-1]+=1;
            System.out.println("点赞成功!");
            break;
        case 6:
            System.out.println("是否确定退出系统: y/n");
            String nums = sc.next();
            char num1 = nums.charAt(0);
            if (num1 == 'y') {
                System.out.println("已退出系统!");
                isExit = true;
            }
            break;
        default:
            System.out.println("您的输入有误");
            break;
    }
    if (isExit){
        break;
    }
    System.out.println("请输入0返回:");
    isContinue = sc.nextInt();
}while (isContinue==0);
        System.out.println("谢谢使用,欢迎下次光临!!!");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值